我想为我的 Python 文件制作一个可执行文件xxx.py
(我有 Python 3.6.1/Windows 7)
我尝试使用pip install pyinstaller
。但出现错误:
“无法建立连接,因为目标机器主动拒绝”。
所以我的防火墙阻止了它。由于它是一台 ofc 电脑,我不想解除防火墙的阻止。
我有管理员权限。
所以我下载了 PyInstaller-3.3.1。现在我不确定如何安装它。有人能帮忙吗?
答案1
以下是有关如何在 Windows 系统上设置 Pyinstaller 的指南,由于防火墙限制,您无法使用 pip 安装它...
通常情况下,你只需pip
像这样安装 Pyinstaller:
pip install pyinstaller
在某些情况下,由于防火墙阻止您,例如公司环境,这是不可能的。如果使用安装pip
不是一个选项,您可以下载压缩包从pyinstaller.org并手动安装。
下载的是 gzip 压缩包,所以你需要一个类似这样的程序7zip来解压/提取它。
安装 7zip 后,导航到下载 pyinstaller tarball 的位置,右键单击它并向下滚动到 7zip > Extract Files。这将创建一个dist
包含另一个 tarball 的文件夹。再次右键单击它并向下滚动到7zip > Extract Files
。这将创建一个名为的文件夹Pyinstaller-3.3.1
。记下文件夹的完整路径名Pyinstaller-3.3.1
,打开命令提示符并将目录更改为该文件夹。从那里运行以下命令:
python setup.py install
安装完成后,您现在应该pyinstaller.exe
在您的Python36\Scripts
文件夹中(应该是在C:\Program Files\Python36\Scripts
或中%USERPROFILE%\AppData\Local\Programs\Python\Python36\Scripts
,取决于您在 python 安装期间选择的是“针对所有用户”还是“仅针对此用户”)。
在使用 Pyinstaller 之前,你还需要安装pywin32
。同样,通常最简单的安装方法是运行:
pip install pywin32
但是,如果防火墙阻止了 pip 安装,则必须手动下载并安装 pywin32(如果您能够使用 轻松安装 Pyinstaller,则会自动安装 pywin32 pip
)。
您可以在以下位置找到 pywin32 的安装文件github.com/mhammond/pywin32/releases。请确保下载正确的版本以匹配您的 Python 版本和系统架构。pywin32 的安装快速而直接。
现在您已准备好将第一个 Python 脚本编译为文件.exe
。
如果 Python 已添加到你的环境变量中,你可以从任何目录运行以下命令来编译脚本
pyinstaller.exe --onefile C:\Example\folder\your_script.py
当然,你会将上面的示例更改为脚本的实际路径。请注意,当你运行 pyinstaller 命令时,Pyinstaller 将在你当前的目录中创建一个dist
包含新文件的.exe
文件夹,因此在运行 pyinstaller 命令之前,请将目录更改为你想要输出新文件夹/文件的位置。
还请注意,该--onefile
选项不是唯一的选项,但它是一个很好的选择,因为它会创建一个文件捆绑的可执行文件。有关 Pyinstaller 其他选项的更多信息,请参阅使用 PyInstaller。
答案2
这个问题很久以前就问过了。答案是一样的,但我想对之前的答案做一点补充。
如果有人在寻找答案时偶然发现这个问题(像我一样),那么这里有更多信息。
我在 32 位 Windows XP 和 Python v3.4 上完成了所有这些操作。您可能不会遇到这些问题,但为了以防万一,我写了这篇文章。
PyInstaller 将要求您安装更多软件包(不仅仅是 PiWin32)。以下是您需要的软件包的另一个列表:
- 另类图
- 马乔利布
- pefile Pefyle 将要求您安装“future”。
此外,如果您在 32 位操作系统上运行,PyWin32 可能会要求您安装另一个包“pypiwin32”。
更新:我忘了说可能需要安装的不是“pywin32”,而是“pywin32-ctypes” P>S> 我遇到的唯一问题是找到我需要的 python 版本 3.4 的库。但这个问题很容易