pyinstaller打包时怎么样添加dll动态库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyinstaller打包时怎么样添加dll动态库相关的知识,希望对你有一定的参考价值。

参考技术A 1、打开腾讯电脑管家找到工具箱;
2、打开工具箱找到“电脑诊所”
3、打开电脑诊所后在右上角的搜索内输入dlL找到需要修复的文件后点击一键修复或者可以点击详情查看原因并点击立即修复。本回答被提问者采纳

虚拟环境下通过pyinstaller 打包

使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去,导致打包生成的.exe文件体积过大。使用pipenv创建虚拟python环境,在虚拟环境中安装.py文件所用到的库(即py文件中import 的第三方库),然后在pipenv所创建的虚拟环境中使用pip安装打包所用到的pyinstaller。注意:本机安装过pyinstaller的也要重新进入虚拟环境中安装,不然会使用pyinstaller命令打包时,还是会生成大体积的.exe可执行文件。

但是实测感觉没啥区别,小应该是会小一点的。

具体步骤如下:

情况一:初次打包

1、在命令行(CMD)使用pip命令安装pipenv库,用于创建虚拟环境

 

pip install pipenv

但是我安装的时候,提示我的pip版本太低,让我更新pip,但是我使用提示的python -m pip install --upgrade pip升级失败,以下是三个解决方案:

1,使用python -m pip install --upgrade pip升级失败
2,使用python -m pip install -U --force-reinstall pip依然失败
3,使用pip install --user --upgrade pip成功升级

到这儿pip更新完毕,运行这条代码可以看pip安装了什么东西:pip list

这儿出现WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
          Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
          To avoid this problem you can invoke Python with ‘-m pip‘ instead of running pip directly.

出现这个后,可能会导致直接pip写法时,会出现是外部文件或则不可执行程序,这个时候根据提示写:python -m pip ...后即可执行了。

之后python -m pip install pipenv或则pip install pipenv安装pipenv,但是出现安装失败,可能是因为找不到下载地址,或则没有管理员权限。

这个时候采用下面两个方法:

1,以管理员运行命令提示行,在安装。

2,上述不行之后,采用调用国内镜像库安装:

pip install keras -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

(其中的keras是你需要下载的,根据自己需求自行更改)即可安装成功了应该。

技术图片

 

 

 看到pipenv之后说明已经安装好了。

2、新建一个准备当环境的文件夹,并cd进入该文件夹

3、建立虚拟环境

 

pipenv install

4、进入虚拟环境(以下操作皆为虚拟环境下的操作)

 

pipenv shell

5、安装.py文件用到的模块

 

pip install 【.py用到的模块】

6、安装pyinstaller模块,用于打包.py文件

 

pip install pyinstaller

7、使用pyinstaller打包文件

 

pyinstaller -Fw test.py(.py文件根据实际情况更改)

这里这个路径的话,最好直接把要打包的文件放到本目录下打包,不在本目录下打包,test.py就要包含绝对路径。

打包的程序运行出现no module name 【程序要引用的模块】,采用pyinstaller的-p参数引入模块的地址,多个地址以分号隔开;

8、结果文件

 

运行完第7步之后,在目录下回生成‘dist’文件夹,里面存放的就是结果文件。

情况二:再次打包

若再次打包时,情况一中所创建的虚拟环境未曾删除,可跳过情况一中的第1、2、3步,直接进行第四步进入虚拟环境。然后第5步同理保留原先添加过的py模块,即若无新增新的模块,可跳过第5步和第6步,直接进行第7步打包操作。

1、cd进入此前创建虚拟环境的文件夹。
2、进入虚拟环境(以下操作皆为虚拟环境下的操作)

pipenv shell


3、安装.py文件用到的模块()

pip install 【相较上一次打包新增的模块】

4、使用pyinstaller打包文件

pyinstaller -Fw test.py(.py文件根据实际情况更改)

 



 

 

 

以上是关于pyinstaller打包时怎么样添加dll动态库的主要内容,如果未能解决你的问题,请参考以下文章

请问python的打包程序 pyinstaller 怎么用啊?

pyinstaller打包在别的电脑上无法运行?

《PyInstaller打包实战指南》第二十二节 单文件模式打包Playwright

《PyInstaller打包实战指南》第二十二节 单文件模式打包Playwright

Python pyinstaller没有自动将依赖库打包进去,运行时提示找不到模块ModuleNotFoundError: No module named ‘PyQt5‘

Python pyinstaller没有自动将依赖库打包进去,运行时提示找不到模块ModuleNotFoundError: No module named ‘PyQt5‘