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=.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章