python程序打包记录及理解

首先在自己写好的python程序中创建一个setup.pyl,内容如下:
我的python程序setup.py的图片
其中:auto_web.py里面有main函数。

然后在pycharm的终端中执行:

python setup.py build_ext --inplace

然后改一下pyd文件的名字,把 .xxxx. 中间的这一部分去掉,得到:
去掉pyd文件中间的部分
然后继续在终端中执行以下代码:

pyinstaller -F -w main.py

之后会在终端中显示生成成功的提示。

但是上面的方法打包的exe使用pyinstxtractor.py文件反编译后,没有看到pyd文件,只有pyc。exe程序和pyinstxtractor.py文件放在一起,打开CMD切换到该目录下,然后执行反编译的命令为:python pyinstxtractor.py auto_web.exe。转换编译exe程序的命令为:pyinstaller -F -w auto_web.pyd。此时会直接报错,执行不了。

注:打包的exe复制到其他的电脑执行时已经不需要重新安装python环境,因为打包的时候已经默认使用了python的解释器。以上是动态联编的方式,在有同名的pyd和py文件时,以上打包方法优先使用pyd文件进行打包。但是反编译之后好像并没有体现出这点。

使用另外一个不需要编译成pyd的py文件去调用pyd文件,这种就可以调用pyd文件。

补充:如果pyinstaller提示未安装无法打开什么的:思路是添加路径和重启一下,我添加了路径,但是不重启,也是不行。

补充:win7不支持3.8.8以上版本的打包(就测了3.8.8版本和3.10.7版本,3.8.8可以,3.10.7不行,具体可以在win7上安装环境看看,支持就能安装,不支持就不能安装)

补充:win7运行3.10.7打包的exe还会提示api-ms-win-core-path-l1-1-0.dll的错误,可以尝试把改文件放在python安装路径下打包。

win7qt+python的程序的时候,出现错误:connot load library python310.dll。错误解决:检查是否在项目的打包路径下放入正确的dll。如果正确,检查QT项目下的pro文件是否正确添加python路径。
换用python编译器之后,pyinstaller打包程序,使用selenium,会出现命令行窗口,这个需要修改这个环境下的server文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值