配置 Pycharm 到 运行 Pyinstaller

Configuring Pycharm to run Pyinstaller

是的,我想在 PyCharm 到 运行 Pyinstaller 中创建一个 运行 配置并获取我的可执行文件。根据 Pyinstaller documentation 你应该能够在安装后找到一个名为 pyinstaller-folder/pyinstaller.py 的 python 脚本,但它不在那里。然后我仔细查看并发现另一个名为 pyinstaller-folder/__main__.py 的应该是相同的<--(我疯狂猜测),所以我设置我的 运行ning 配置如下:

在 运行 之后,给我这个错误:

/usr/local/Cellar/python3/3.4.3/bin/python3.4 /usr/local/lib/python3.4/sit

e-packages/PyInstaller/__main__.py --onefile --nowindow --osx-bundle-identifier=jg.optimizer -F --name=genoptimizer optimizer/manage.py
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/site-packages/PyInstaller/__main__.py", line 26, in <module>
    from . import __version__
SystemError: Parent module '' not loaded, cannot perform relative import

Process finished with exit code 1

运行 似乎需要一个父模块,但是,那看起来怎么样?

PyInstaller 包是一个 运行 可用模块,可以 运行 使用 python -m PyInstaller。要将其配置为 PyCharm 中的 运行 目标,请将 "Script" 字段留空,在 "Interpreter Options" 字段中写入 -m PyInstaller,并将 PyInstaller 参数放入"Script Parameters" 字段。

例如:

PyCharm 会抱怨 "Script" 字段为空,但无论如何它都会让你 运行 配置。

对于我们这些在 Windows 上使用 Anaconda 试图解决这个问题的人,我发现最简单的方法是设置 Bash 配置(我相信您需要 Bash 支持插件),并设置:

  • 脚本:pyinstaller(假设 pyinstaller 在您的路径中,如果没有,则为完整路径)
  • 解释器路径:C:\Windows\system32\cmd.exe(是的,一个bash配置可以只使用标准命令程序)
  • 解释器选项:/C
  • 程序参数:script_name.py(以及任何其他 pyinstaller 参数)
  • 工作目录:C:\Path\To\Script

时隔两年多,或许还有更好的选择。

在 PyCharm 菜单中转到 文件 -> 设置.
在“设置”对话框中找到 工具 -> 外部工具 并使用绿色 + 添加新的外部工具。

例如:

然后,IDE 将允许您在任何 python 脚本上 运行 它。右键单击该文件,上下文菜单将显示 External tools -> PyInstaller.

因为 Pycharm 有新的更新,我的情况有点不同,因为我从解释器设置安装了 pyinstaller,如下图所示:

Linux 用户

您可以在 Python 2.7Python 3.7+ 中安装它。确保在Settings选项中获取pyinstaller where stored.Then的路径,尝试找到Tools -> External tools并添加一个新的外部工具,如下图所示:

Windows 用户:

如果您正在使用 Pycharm 或任何虚拟环境。不幸的是,一旦您指定 interpreter,Pycharm 就会在 venv 路径中创建其本地虚拟环境。因此,您应该将外部工具 (pyinstaller) 设置为 python 3.7 .exe 的真实路径,如图所示

在pycharm中安装pyinstaller,然后打开pycharm终端,写入python -m PyInstaller.

运行 命令自接受的答案以来发生了一些变化。您现在可以 select 启动一个模块,而不是编辑解释器选项。

在撰写此答案时,它是这样的:

备注:

  • 此解决方案需要在项目的虚拟环境中安装PyInstaller
  • 我正在使用 PyCharm 专业版 2020.1
  • 旧的解决方案应该仍然有效
  • 仍然可以使用外部工具。您选择哪种解决方案是个人喜好问题。