遇到了幾個問題,記錄一下
ubuntu16.04系統 python3.6 conda (注意ubuntu的可執行檔案就直接是檔名,windows的可執行檔案是exe)
pip install pyinstaller
然後直接
pyinstaller -f 檔名.py
在當前目錄下面有乙個dist資料夾 直接執行./檔名即可
結果在執行的時候出現問題
traceback (most recent call last):
file "site-packages/pyinstaller/loader/rthooks/pyi_rth_pkgres.py", line 13, in file "/home/xx/anaconda3/envs/keras/lib/python3.6/site-packages/pyinstaller/loader/pyimod03_importers.py", line 623, in exec_module
exec(bytecode, module.__dict__)
file "site-packages/pkg_resources/__init__.py", line 86, in modulenotfounderror: no module named 'pkg_resources.py2_warn'
[132693] failed to execute script pyi_rth_pkgres
有文章要降setuptools版本,或者公升級
都對我無效
我是解除安裝了pip上的pyinstaller,改在conda環境裡安裝pyinstaller,結果出現了
traceback (most recent call last)
: file "xx.py"
, line 6,in
file "/home/xx/anaconda3/envs/keras/lib/python3.6/site-packages/pyinstaller/loader/pyimod03_importers.py"
, line 623
,in exec_module
exec
(bytecode, module.__dict__)
file "site-packages/numpy/__init__.py"
, line 151,in
file "/home/xx/anaconda3/envs/keras/lib/python3.6/site-packages/pyinstaller/loader/pyimod03_importers.py"
, line 623
,in exec_module
exec
(bytecode, module.__dict__)
file "site-packages/numpy/ctypeslib.py"
, line 369,in
file "site-packages/numpy/ctypeslib.py"
, line 358
,in _get_typecodes
file "site-packages/numpy/ctypeslib.py"
, line 358,in
modulenotfounderror: no module named 'numpy.core._dtype_ctypes'
先將.py檔案轉換為.spec
pyi-makespec --noupx -f --hidden-import=numpy.core._dtype_ctypes 檔名.py
再生成可執行檔案
pyinstaller 檔名.spec
搞定!
學習鏈結
分析問題出現原因:pyinstaller 打包時有其他的包(未在你檔案內的import中)沒有呼叫成功,所以出現
modulenotfounderror: no module named '***'
其實可以跳過spec的過程,最後顯示缺哪個包就在打包時強行加上這個包。
我在後續打包的時候出現缺少 『six』 包,可以輸入:
pyinstaller -f 檔名.py --hidden-import six
進行編譯得到可執行檔案(根目錄dist下)
順利解決。
pyinstaller打包py檔案為exe方法
pip install pyinstallersuccessefully installed pip xx.xx.xx 安裝成功 2.打包python檔案 1.進入打包檔案所在資料夾,比如 cmd輸入 cd d d llk進入資料夾,入口檔案為run.py 2.打包檔案 在當前路徑下輸入 等待打包結...
pyinstaller打包程式
python打包成exe檔案時,用的是pyinstaller 第一步安裝pyinstaller pip install pyinstaller第二步 pyinstaller f w i ico py其中 ico 是logo,py是你要打包的py檔案 我在打包時出現了struct.error unpa...
pyinstaller打包使用
pyinstaller manage.py 如果直接打包報錯,使用如下命令可以直接生成配置檔案 pyi makespec d manage.py生成的配置檔案格式如下 mode python coding utf 8 block cipher none a analysis impala etl.p...