Ответ 1
Запустите с флагом -F для создания автономного exe:
pyinstaller.py -F helloworld.py
Он выведет на dist/helloworld.exe
ПРИМЕЧАНИЕ. Это другое место, когда -F не используется, после этого обязательно запустите правый exe.
Итак, я запускаю 64-разрядную Windows 7, и я настроил Pyinstaller с помощью Pip и PyWin32. У меня есть python 2.7.
Я сделал простую программу приветствия с этим кодом
print "hello world!"
Я помещаю файл в тот же каталог, что и PyInstaller, и запускал этот код в командной строке
pyinstaller.py helloWorld.py
Тем не менее, когда я пытаюсь это сделать, я получаю следующее сообщение об ошибке:
Error loading Python DLL: C:\PROGRA~1\PYINST~1.1\build\HELLOW~1\python27.dll (error code 126)
Что я делаю неправильно и как это исправить?
Запустите с флагом -F для создания автономного exe:
pyinstaller.py -F helloworld.py
Он выведет на dist/helloworld.exe
ПРИМЕЧАНИЕ. Это другое место, когда -F не используется, после этого обязательно запустите правый exe.
Спасибо @tul! Моя версия pyinstaller помещает его в dist\helloworld.exe, хотя!
Если вы запустите его из C:\Python27\Scripts..., то это будет C:\Python27\Scripts\dist...!
Но если у вас есть это, я рекомендую разместить пакетный файл рядом с вашей .py, чтобы перекомпилировать любое время одним щелчком мыши:
Я установил его, так что ничего не происходит .exe в месте .py, а временный материал переходит в temp dir:
@echo off
:: get name from filename without path and ext
set name=%~n0
echo ========= %name% =========
:: cut away the suffix "_build"
set name=%name:~0,-6%
set pypath=C:\Python27\Scripts
set buildpath=%temp%
if not exist %name%.py (
echo ERROR: "%name%.py" does not exist here!
pause
exit /b
)
%pypath%\pyinstaller.exe --onefile -y %~dp0%name%.py --distpath=%~dp0 --workpath=%buildpath% --specpath=%buildpath%
Я называю его как .py файл плюс "_build" и снова вычеркивает суффикс в пакете script. Вуаля.