簡體   English   中英

pyinstaller和onefile構建導致錯誤加載Python DLL(錯誤代碼14001)

[英]pyinstaller and onefile build causes Error loading Python DLL (error code 14001)

我使用pyinstaller從我的腳本文件中創建一個exe。 我的腳本是mysql_backup.py

我跑

pyinstaller --onefile mysql_backup.py

產量

52 INFO: wrote
C:\Users\vlahopou\PycharmProjects\TestClient\mysql_backup.spec
73 INFO: Testing for ability to set icons, version resources...
104 INFO: ... resource update available
105 INFO: UPX is not available.
128 INFO: Processing hook hook-os
219 INFO: Processing hook hook-time
223 INFO: Processing hook hook-cPickle
276 INFO: Processing hook hook-_sre
368 INFO: Processing hook hook-cStringIO
446 INFO: Processing hook hook-encodings
457 INFO: Processing hook hook-codecs
831 INFO: Extending PYTHONPATH with C:\Users\vlahopou\PycharmProjects\TestClient
831 INFO: checking Analysis
832 INFO: building Analysis because out00-Analysis.toc non existent
832 INFO: running Analysis out00-Analysis.toc
832 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executable
902 INFO: Searching for assembly amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none ...
902 WARNING: Assembly not found
902 ERROR: Assembly amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none not found
996 INFO: Searching for assembly amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none ...
996 WARNING: Assembly not found
996 ERROR: Assembly amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none not found
1075 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\_pyi_bootstrap.py
1088 INFO: Processing hook hook-os
1101 INFO: Processing hook hook-site
1117 INFO: Processing hook hook-encodings
1213 INFO: Processing hook hook-time
1217 INFO: Processing hook hook-cPickle
1270 INFO: Processing hook hook-_sre
1375 INFO: Processing hook hook-cStringIO
1470 INFO: Processing hook hook-codecs
1900 INFO: Processing hook hook-pydoc
2013 INFO: Processing hook hook-email
2056 INFO: Processing hook hook-httplib
2092 INFO: Processing hook hook-email.message
2148 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\pyi_importers.py
2181 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\pyi_archive.py
2210 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\pyi_carchive.py
2242 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\pyi_os_path.py
2246 INFO: Analyzing mysql_backup.py
2328 INFO: Processing hook hook-xml
2427 INFO: Processing hook hook-xml.sax
2471 INFO: Processing hook hook-pyexpat
2474 INFO: Hidden import 'codecs' has been found otherwise
2474 INFO: Hidden import 'encodings' has been found otherwise
2474 INFO: Looking for run-time hooks
2746 INFO: Using Python library C:\WINDOWS\system32\python27.dll
2846 INFO: Warnings written to C:\Users\vlahopou\PycharmProjects\TestClient\build\mysql_backup\warnmysql_backup.txt
2858 INFO: checking PYZ
2858 INFO: rebuilding out00-PYZ.toc because out00-PYZ.pyz is missing
2858 INFO: building PYZ (ZlibArchive) out00-PYZ.toc
3756 INFO: checking PKG
3756 INFO: rebuilding out00-PKG.toc because out00-PKG.pkg is missing
3757 INFO: building PKG (CArchive) out00-PKG.pkg
5257 INFO: checking EXE
5259 INFO: rebuilding out00-EXE.toc because mysql_backup.exe missing
5259 INFO: building EXE from out00-EXE.toc
5262 INFO: Appending archive to EXE C:\Users\vlahopou\PycharmProjects\TestClient\dist\mysql_backup.exe

當我嘗試在沒有安裝python的機器上執行此操作時出現問題。 我希望能夠使用python捆綁提取exe,以便在用戶想要運行它時它沒有任何依賴關系。 是否可以使用pyinstaller? 我的文件在生成它的機器上正常運行。

調試信息

C:\>mysql_backup.exe
LOADER: executable is C:\mysql_backup.exe
LOADER: homepath is C:
LOADER: _MEIPASS2 is NULL
LOADER: archivename is C:\mysql_backup.exe
LOADER: Extracting binaries
LOADER: Executing self as child
LOADER: Setting up to run child
LOADER: Creating child process
LOADER: Waiting for child process to finish...
LOADER: executable is C:\mysql_backup.exe
LOADER: homepath is C:
LOADER: _MEIPASS2 is C:\Users\ADMINI~1\AppData\Local\Temp\2\_MEI21882
LOADER: archivename is C:\mysql_backup.exe
LOADER: Already in the child - running user's code.
LOADER: manifestpath: C:\Users\ADMINI~1\AppData\Local\Temp\2\_MEI21882\mysql_backup.exe.manifest
LOADER: Error activating the context
LOADER: Python library: C:\Users\ADMINI~1\AppData\Local\Temp\2\_MEI21882\python27.dll
Error loading Python DLL: C:\Users\ADMINI~1\AppData\Local\Temp\2\_MEI21882\python27.dll (error code 14001)
LOADER: Deactivating activation context
LOADER: Releasing activation context
LOADER: Done
LOADER: Back to parent
LOADER: Doing cleanup
LOADER: Freeing archive status for C:\mysql_backup.exe

我有一個類似的問題,當我部署我的可執行文件時,完全相同的錯誤代碼14001,我用這組參數解決了它:

pyinstaller --clean --win-private-assemblies -F <python files>

從幫助說明:

--clean             Clean PyInstaller cache and remove temporary files
                    before building.

--win-private-assemblies
                    Any Shared Assemblies bundled into the application
                    will be changed into Private Assemblies. This means
                    the exact versions of these assemblies will always be
                    used, and any newer versions installed on user
                    machines at the system level will be ignored.

-F, --onefile       Create a one-file bundled executable.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM