配置Pycharm以运行Pyinstaller

8tntrjer  于 2023-10-20  发布在  PyCharm
关注(0)|答案(7)|浏览(160)

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

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

/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

它似乎需要一个父模块来运行,但是,这看起来像什么?

9vw9lbht

9vw9lbht1#

两年后,也许有更好的选择。
在PyCharm菜单中,转到 File -> Settings
在设置对话框中找到 * 工具 * -> * 外部工具 * 并使用绿色+添加新的外部工具。
举例来说:

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

piztneat

piztneat2#

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

PyCharm会提示“Script”字段为空,但它仍然允许您运行配置。

vsnjm48y

vsnjm48y3#

自接受答案以来,run命令已发生了一点更改。您现在可以选择要启动的模块,而不是编辑解释器选项。
在写这个答案时,它看起来是这样的:

注意事项:

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

edqdpe6u4#

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

polkgigr

polkgigr5#

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

对于Linux用户

您可以将其安装在Python 2.7Python 3.7+中。确保获取pyinstaller的存储路径。然后在设置选项中,尝试找到工具->外部工具并添加新的外部工具,如下图所示:

Windows用户

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

mbyulnm0

mbyulnm06#

对于我们这些在Windows上使用Anaconda试图解决这个问题的人来说,我发现最简单的方法就是设置一个Bash Configuration(我相信你需要BashSupport插件),然后设置:

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

tv6aics17#

我是这样用的:

-y --clean --console --noupx --name="$Prompt$" "$FileName$"

由于$Prompt$宏,每次我想构建它(* 右键单击代码->外部工具-> PY3_PyinstallerFreeze*),它甚至会询问名称

PS -我建议像上面的C:\Python39\Scripts\pyinstaller.exe一样使用全局PyInstaller(而不是虚拟环境)

相关问题