Настройка Pycharm для запуска Pyinstaller

Да, я хочу создать конфигурацию запуска в PyCharm, чтобы запустить Pyinstaller и получить свой исполняемый файл. Согласно документации Pyinstaller, вы должны быть в состоянии найти скрипт python с именем pyinstaller-folder/pyinstaller.py после установки, но его там не было. Затем я внимательно посмотрел и обнаружил еще одну pyinstaller-folder/__main__.py именем pyinstaller-folder/__main__.py которая должна быть такой же <- (я догадываюсь), поэтому я настроил свою рабочую конфигурацию так:

enter image description here

После запуска выдает эту ошибку:

/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

Кажется, для запуска требуется родительский модуль, но как это будет выглядеть?

Ответ 1

Пакет PyInstaller является исполняемым модулем и может быть запущен с помощью python -m PyInstaller. Чтобы настроить его как цель запуска в PyCharm, оставьте поле "Script" пустым, напишите -m PyInstaller в поле "Параметры интерпретатора" и поместите параметры PyInstaller в поле "Script Parameters".

Например:

pyinstaller pycharm configuration

PyCharm будет жаловаться, что поле "Script" пуст, но оно все равно позволит вам запустить конфигурацию.

Ответ 2

После более чем двух лет, возможно, есть лучший вариант.

В меню PyCharm перейдите в Файл → Настройки.
В диалоговом окне "Настройки" найдите "Инструменты → Внешние инструменты" и используйте зеленый +, чтобы добавить новый внешний инструмент.

Например:

enter image description here

Затем IDE позволит вам запустить его на любом скрипте Python. Щелкните правой кнопкой мыши по файлу, и в контекстном меню появятся Внешние инструменты → PyInstaller.

Ответ 3

Так как у Pycharm недавно появились обновления, мой случай немного отличался, поскольку я установил pyinstaller из настроек интерпретатора, как показано на следующем рисунке:

enter image description here

Для пользователей Linux:

Вы можете установить его как в Python 2.7 и в Python 3.7+. Убедитесь, что pyinstaller нашли путь к pyinstaller хранения pyinstaller Затем в параметре "Настройки" найдите "Инструменты → Внешние инструменты" и добавьте новый внешний инструмент, как показано на следующем рисунке: enter image description here

Для пользователей Windows:

Если вы используете Pycharm или любую виртуальную среду. К сожалению, Pycharm создает свою локальную вертикальную среду на пути venv только вы указываете interpreter. Итак, вы должны установить внешний инструмент (pyinstaller) на реальный путь вашего python 3.7.exe, как показано на рисунке here

Ответ 4

Для тех из нас, кто работает в Windows с Anaconda, пытаясь понять это, мне было проще всего настроить конфигурацию Bash (мне кажется, вам нужен плагин BashSupport для этого) и установите:

  • Script: pyinstaller (предполагая, что pyinstaller находится на вашем пути, если нет, полный путь)
  • Путь интерпретатора: C:\Windows\system32\cmd.exe (да, конфигурация Bash может просто использовать стандартную командную программу)
  • Параметры интерпретатора: /C
  • Программные аргументы: script_name.py (вместе с любыми другими аргументами pyinstaller)
  • Рабочий каталог: C:\Path\To\Script

Ответ 5

Установите pyinstaller в pycharm, затем откройте терминал pycharm и напишите python -m PyInstaller.

Ответ 6

вывод для pyinstaller на окнах pycharm 8

argumento                                                        fails
---                                                                V
-y -F                                                              V
-y -F --onefile                                                    V
-y -F --onefile -c $FileName$                                      F (default path)
-y -F --onefile -w $FileName$                                      F (default path, no console neither cmd)
-y -F --onefile -c $FileName$ --distpath $FileDir$                 F (path as project)
-y -F --onefile -c $FileName$ --distpath $FileRelativePath$        V


best selection -> line four or six