FC的注册很坑 发表于 2021-4-12 16:46:48

如何将Python本身打包成一个exe

Python下载下来是一个文件夹,里面包含有python.exe,还有些后下载的三方库。我知道Pyinstaller可以将py脚本和Python环境一起打包成一个大的exe。那么如何实现把Python本身打包成一个大的exe呢?
例如打包成main.exe,然后在cmd中执行"main script.py” 可以达到和在cmd中执行“python scrip.py”一样的效果。

yuxijian2020 发表于 2021-4-12 17:05:08

自行百度pyinstaller

FC的注册很坑 发表于 2021-4-12 17:09:24

yuxijian2020 发表于 2021-4-12 17:05
自行百度pyinstaller

如题,我知道怎么用Pyinstaller将py脚本和Python环境一起打包,这个有很多教程,我只想打包Python环境本身,这个没有找到教程。或者可能写个什么样的脚本一起打包也能实现目的,但是不知道要怎么写。。

yuxijian2020 发表于 2021-4-12 17:11:59

本帖最后由 yuxijian2020 于 2021-4-12 17:13 编辑

python环境本身在你下python的时候就已经在python的目录里了
python目录下libs文件夹内的是静态lib
python目录下就有dll动态库

wp231957 发表于 2021-4-12 17:25:33

yuxijian2020 发表于 2021-4-12 17:11
python环境本身在你下python的时候就已经在python的目录里了
python目录下libs文件夹内的是静态lib
pytho ...

楼主的意思是说,如果在裸机上安装它自己制作的python安装包,那么就不用再pip各种模块了,

yuxijian2020 发表于 2021-4-12 17:29:15

wp231957 发表于 2021-4-12 17:25
楼主的意思是说,如果在裸机上安装它自己制作的python安装包,那么就不用再pip各种模块了,

这也简单, 不过现在都是些加了很多广告的打包软件而且我也很久没用过了....
不过想在命令行执行的   恐怕是不行...

FC的注册很坑 发表于 2021-4-12 17:32:19

yuxijian2020 发表于 2021-4-12 17:11
python环境本身在你下python的时候就已经在python的目录里了
python目录下libs文件夹内的是静态lib
pytho ...

感觉你可能没看明白我想实现什么目的{:10_243:}我不太懂原理,Pyinstaller的打包可选2种,一个是打包成一个文件夹,里边有pyd,dll等,一个是打包成一个大的exe,这种打包方法的好处是不容易被随意改动,例如里面的某个文件被挪了个位置;坏处是不灵活。我想实现的类似第二种,python本身安装完是一个文件夹的,我想把它打包成一个大的exe,并且不是用类似python-embedded的那种。

FC的注册很坑 发表于 2021-4-12 17:41:03

本帖最后由 FC的注册很坑 于 2021-4-12 17:42 编辑

wp231957 发表于 2021-4-12 17:25
楼主的意思是说,如果在裸机上安装它自己制作的python安装包,那么就不用再pip各种模块了,

对对对{:10_254:},在OS相同的情况下,直接把exe拷贝过去就可以命令行运行py脚本的那种

yuxijian2020 发表于 2021-4-12 19:41:51

FC的注册很坑 发表于 2021-4-12 17:41
对对对,在OS相同的情况下,直接把exe拷贝过去就可以命令行运行py脚本的那种

我没见过这种需求的,不过这个原理和你把.py打包成单文件是一样的,看似可行看似灵活,其实每次运行的时候它会先解压然后寻找依赖   那你的文件运行速度就不堪入目了可能5分钟才能运行的起来....

FC的注册很坑 发表于 2021-4-16 10:37:52

yuxijian2020 发表于 2021-4-12 19:41
我没见过这种需求的,不过这个原理和你把.py打包成单文件是一样的,看似可行看似灵活,其实每次运行的时 ...

这样么{:10_277:}但还是想实现看看{:10_297:}

hrp 发表于 2021-4-16 11:47:46

本帖最后由 hrp 于 2021-4-16 11:50 编辑

FC的注册很坑 发表于 2021-4-16 10:37
这样么但还是想实现看看

写个py文件a,调用python执行外部py文件,将a用pyinstaller打包成单文件,应该可以实现的,不过启动速度是个大问题。

FC的注册很坑 发表于 2021-4-16 14:50:32

hrp 发表于 2021-4-16 11:47
写个py文件a,调用python执行外部py文件,将a用pyinstaller打包成单文件,应该可以实现的,不过启动速 ...

有考虑过,不知道这个py文件要怎么写,我随便写了个函数,发现不行的。如果文件里用到了原本的python.exe,但新环境里又没有python.exe。。。

hrp 发表于 2021-4-16 14:52:00

本帖最后由 hrp 于 2021-4-16 22:23 编辑

FC的注册很坑 发表于 2021-4-16 14:50
有考虑过,不知道这个py文件要怎么写,我随便写了个函数,发现不行的。如果文件里用到了原本的python.exe ...

手机测试不了,如果不行的话我晚上再试试

PS: 试了,行不通

FC的注册很坑 发表于 2021-4-16 15:44:09

hrp 发表于 2021-4-16 14:52
手机测试不了,如果不行的话我晚上再试试

我测试过了不太行报错“LoadLibrary: 页面文件太小,无法完成操作”,什么鬼{:10_284:}
感谢,我先学习学习大佬的思路{:10_254:}

hrp 发表于 2021-4-16 22:25:46

本帖最后由 hrp 于 2021-4-17 13:36 编辑

FC的注册很坑 发表于 2021-4-16 15:44
我测试过了不太行报错“LoadLibrary: 页面文件太小,无法完成操作”,什么鬼
感谢,我先学习 ...

我试了下,行不通,打包后sys.executable获取的不是python.exe的路径,是打包后exe的路径。

而且你最好清除一下系统的临时文件,可能有很多,这是我的错{:10_245:}

FC的注册很坑 发表于 2021-4-18 16:21:40

hrp 发表于 2021-4-16 22:25
我试了下,行不通,打包后sys.executable获取的不是python.exe的路径,是打包后exe的路径。

而且你 ...

Not so easy{:10_256:}

龙舞九天 发表于 2021-5-12 06:27:00

{:5_95:}
页: [1]
查看完整版本: 如何将Python本身打包成一个exe