Pyinstaller y la comstackción de onefile causan un error al cargar la DLL de Python (código de error 14001)

Utilizo pyinstaller para crear un exe de mi archivo de script. Mi script es


pyinstaller --onefile 


 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\ 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\ 2181 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\ 2210 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\ 2242 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\ 2246 INFO: Analyzing 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 

El problema viene cuando bash ejecutarlo en una máquina que no tiene instalado Python. Quiero poder extraer un archivo ejecutable con Python incluido para que no tenga dependencias cuando el usuario quiere ejecutarlo. ¿Es posible con pyinstaller? Mi archivo se ejecuta normalmente en la máquina que lo produjo.


 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 

Tuve un problema similar, con exactamente el mismo código de error 14001 cuando implementé mi ejecutable, y lo resolví con este conjunto de parámetros:

 pyinstaller --clean --win-private-assemblies -F  

De la descripción de la ayuda:

 --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.