之前我尝试了用pipenv来管理虚拟环境,并用pipenv来创建虚拟环境打包exe.
使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)
pipenv创建虚拟环境,很难更改pyhon版本,默认的python是电脑自带的python.
而anaconda创建的虚拟环境能更改python版本。
利用虚拟环境打包exe时,如果包含一些深度学习框架,一般要求的深度学习框架版本很低,深度学习框架版本低,则配套的python版本也要低,这时如果再用pipenv则比较麻烦啦。(因为可能我们电脑自带的Python版本很高)
深度学习框架与python对应关系见链接。
python深度学习环境支撑列表 各版本对应关系,Keras,TensorFlow,pytorch ,caffe等。
anaconda常用命令
#获取版本号
conda --version 或 conda -V
#检查更新当前conda
conda update conda
#查看当前存在哪些虚拟环境
conda env list 或 conda info -e
#查看–安装–更新–删除包
conda list:
conda search package_name# 查询包
conda install package_name
conda install package_name=2.6.0
conda update package_name
conda remove package_name
anaconda虚拟环境
创建虚拟环境
conda create -n your_env_name python=X.X(2.7、3.6等)
激活虚拟环境
#Linux
source activate your_env_name
#Windows
activate your_env_name
删除虚拟环境
conda remove -n your_env_name --all
conda remove --name your_env_name --all
![](https://i-blog.csdnimg.cn/blog_migrate/464e1da4570549b4baf124a93d51b7ad.png)
anaconda虚拟环境打包
使用 conda create -n your_env_name python=X.X(2.7、3.6等),anaconda 命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。
第一步:原始文件夹,进入cmd
注意anaconda python已添加进环境变量
如果不会,查看链接
cmd执行python程序,文件夹直接进入cmd程序
![](https://i-blog.csdnimg.cn/blog_migrate/d67e24b9656232cd0f0799d72f93c132.png)
第二步:创建制定python版本的环境
conda create -n yudengwu python=3.6
![](https://i-blog.csdnimg.cn/blog_migrate/819ce09664fca13993c4b3eb55313b7f.png)
点击y,自动安装必要的包
![](https://i-blog.csdnimg.cn/blog_migrate/a4553887223b1448440ccd96861bc378.png)
安装结束
第三步:激活虚拟环境
#Linux
source activate your_env_name
#Windows
activate your_env_name
![](https://i-blog.csdnimg.cn/blog_migrate/ac496aedaeb1118dddc6184df17fd103.png)
第四步:安装打包exe和程序相关的库
打包需要的 pyinstaller
pip install pyinstaller
![](https://i-blog.csdnimg.cn/blog_migrate/9343c9f02a7a42165a9d01e3f38ac6fd.png)
安装相关库 如
pip install opencv-python
第五步:查看已安装的库
conda list
![](https://i-blog.csdnimg.cn/blog_migrate/7e930cdbcc8cf4707becf4f1673a0193.png)
第六步:打包exe
这里简单打包下,更多打包见前面给的链接 pipenv版打包。
pyinstaller -F xx.py
![](https://i-blog.csdnimg.cn/blog_migrate/e8c914168cd1dbe0ed0ecc51c9006dc3.png)
可以运行
更多
之前使用pipenv打包tensorflow时出现了下列错误信息
tensorflow的 ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败
出现这种错误的原因是最近tensorflow安装包不支持较老的处理器,需要安装老版本的tensorflow
而当时pipenv对应的python版本是3.7。3.7的python版本对应的tensorflow 可不低。
这次使用的anaconda创建的虚拟环境指定的python版本是3.6。我来尝试下,安装tensorflow是否可以使用。
在虚拟环境下安装低版本的tensorflow
pip install --ignore-installed --upgrade tensorflow==1.5
![](https://i-blog.csdnimg.cn/blog_migrate/42ea113d3341be9cea91b0961f03a81c.png)
版本1.5可以,当我使用版本1.11.0还是出现mportError: DLL load failed: 动态链接库(DLL)初始化例程失败
看来合适的版本是1.5及其以下
不管怎么说python3.6 时,TensorFlow1.5 在虚拟环境下可以用
安装好后,测试一下:
先进入python
输入python,然后再测试
![](https://i-blog.csdnimg.cn/blog_migrate/72d15cf2c6a62dc214bd410a452ffbb1.png)
成功意味着我们可以将深度学习模型打包成exe啦。
电气工程的计算机萌新:余登武。如果你觉得本文对你不错。请点个赞支持下,谢谢。