Подтвердить что ты не робот

PyInstaller не работает над простой программой HelloWorld

Итак, я запускаю 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)

Что я делаю неправильно и как это исправить?

4b9b3361

Ответ 1

Запустите с флагом -F для создания автономного exe:

pyinstaller.py -F helloworld.py

Он выведет на dist/helloworld.exe

ПРИМЕЧАНИЕ. Это другое место, когда -F не ​​используется, после этого обязательно запустите правый exe.

Ответ 2

Спасибо @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. Вуаля.