python中关于pyinstaller的问题一些总结

1、安装虚拟环境+常用命令

我们都知道,如果直接在复杂的环境使用pyinstaller会使得打包出来的文件十分大


pip install virtualenv
pip install virtualenvwrapper-win
指定虚拟环境的python解释器  :  	virtualenv -p 解释器路径
创建虚拟环境:			mkvirtualenv 虚拟环境名
查看所有虚拟环境			lsvirtualenv
进入虚拟环境			workon 虚拟环境名
退出虚拟环境			deactivate
删除虚拟环境			rmvirtualenv 虚拟环境名	

2、cmder 不能进入虚拟环境

就是这样的,可能显示不出来
这儿直接用系统自带的cmd就行了


3、一些报错

pyinstaller no module named 'pkg_resources.py2_warn'解决方法
两种方法:

第一种

1.pip uninstaller setuptools
2.pip installer setuptools==44.0.0

(不过这种方法对setuptools进行降级处理,可能有些功能不能使用)


第二种

1.先用pyinstaller -D(F) xxx.py生成一下(不一定能正常运行)
2.(关键)经过第一步之后,目录下有个.spec文件,用记事本打开,里面有个hiddenimports,在这条里面加上pkg_resources.py2_warn
3.再次用pyinstaller,注意这时候输入的命令是pyinstaller -D(F) xxx.spec
4.经过步骤2就可以解决这个问题,若仍然提示no module named XXXXX ,则再次写入到hiddenimports
5.需要经过几次调试,建议先用-D处理没问题之后再-F

在这里插入图片描述
参考链接




"pkg_resources.DistributionNotFound"的解决办法

创建一个hook-ctypes.macholib.py文件(文件名必须是这个)

from PyInstaller.utils.hooks import copy_metadata
datas = copy_metadata('cffi') + copy_metadata('greenlet')

假若报错没找到cffigreenlet,用上述代码
多个包之间用加号连接

然后在hook-ctypes.macholib.py文件所在路径下运行

pyinstaller -F yourfile.py --additional-hooks-dir=.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章