30

所以我在 64 位 Windows 7 上运行,并使用 Pip 和 PyWin32 设置了 Pyinstaller。我有python 2.7。

我用这段代码做了一个简单的hello world程序

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)

我做错了什么,我该如何解决这个问题?

4

2 回答 2

53

使用 -F 标志运行以生成独立的 exe:

pyinstaller -F helloworld.py

它将输出到 dist/helloworld.exe

注意这与不使用 -F 时的位置不同,请确保之后运行正确的 exe。

于 2013-12-18T16:04:51.620 回答
4

谢谢@tul!我的 pyinstaller 版本把它放到了dist \helloworld.exe

如果你从C:\Python27\Scripts...开始,那也是C:\Python27\Scripts\dist...

但无论你有它,我建议在你的 .py 旁边放一个批处理文件,以便随时单击即可重新编译:

我对其进行了设置,因此在 .py 位置只有 .exe,而临时文件则进入 temp 目录:

@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”并再次删除批处理脚本中的后缀。瞧。

于 2014-12-10T21:23:36.900 回答