Подтвердить что ты не робот

Как я могу запустить оболочку script вместо python в конфигурации запуска PyCharm?

Я пытаюсь установить PyCharm для вызова оболочки script вместо python в качестве опции запуска. Это возможно? В параметрах по умолчанию у меня есть только Python, Python docs и Python. С профессиональным изданием у меня также есть Django и другие. Тем не менее, все они имеют python в качестве интерпретатора в combobox, и они не могут быть изменены, насколько я могу видеть.

4b9b3361

Ответ 1

Если вы хотите увидеть такую ​​функцию в PyCharm, проголосуйте за IDEA-112256 "Запрос командной строки" Выполнение конфигурации ".


Раздел "Отладка/отладка" в онлайн-справочной информации Pycharm перечисляет все поддерживаемые типы конфигураций Run/Debug и нет поддержки сценариев оболочки. Однако вы можете добавить такую ​​поддержку, установив плагин. Например, если вы заинтересованы в bash скриптах, там BashSupport плагин, который добавляет поддержку для запуска сценариев оболочки в конфигурации Run/Debug.

С домашней страницы плагинов:

BashSupports может напрямую запускать скрипты внутри IntelliJ. Вы можете создать новая конфигурация запуска для сценариев bash. Здесь вы можете установить, какие интерпретатор используется для его запуска. Всякий раз, когда выполняется scriptвыход регистрируется. Если bash выводит синтаксические ошибки, то ошибочные строки можно щелкнуть, чтобы перейти к месту ошибки.

Для Windows там CmdSupport плагин, который обеспечивает действие для запуска сценариев .cmd. Кажется, что он не поддерживает запуск таких скриптов, как конфигурация Run/Debug.

В качестве обходного пути вы можете использовать конфигурацию запуска/отладки Python, указав некоторый фиктивный (пустой) файл Python для запуска и использования перед запуском, указав внешний инструмент и указав путь к script при добавлении/настройке этого внешнего инструмента. См. В IntelliJ IDEA, как я могу создать привязку клавиш, которая будет выполнять оболочку script с текущим файлом в качестве параметра? для деталей.

Поскольку PyCharm основана на платформе IntelliJ IDEA, вопрос IntelliJ IDEA: Запуск оболочки script в качестве конфигурации запуска/отладки очень связан.


Говоря о конфигурациях запуска/отладки, вам может быть интересен плагин Запустить конфигурацию как действие, которая

(...) предоставляет способ использования конфигураций запуска в качестве кнопок на панели инструментов. Или назначьте ярлыки для выполнения конкретной конфигурации запуска.

Ответ 2

Это действительно недостающая функция, которую обычно следует рассматривать как базовую функциональность. Существует два варианта

  • Сначала я попытался создать стандартную (пустую) конфигурацию Python и использовал параметр "Перед запуском" → Внешний инструмент, поэтому вы должны создать новое определение внешнего инструмента с помощью настроек инструмента:

    • Программа: cmd.exe
    • Параметры:/C your-batch-file.bat
    • Рабочий каталог $ProjectFileDir $(в моем случае $ProjectPath $был пуст)

    Досадная вещь об этом решении заключается в том, что стандартный вывод "внешнего инструмента" перенаправляется на дополнительную вкладку в окне журнала консоли, которая сразу же переходит в фоновый режим, когда после этого запускается фиктивная конфигурация Python.

  • Во-вторых, лучше использовать python для выполнения команды. Обычно я всегда использую модуль subprocess, но в этом случае os.system() является хорошим и минимальным решением. Тогда конфигурация запуска python выглядит так:
    • Script: (пусто)
    • Параметры: -c "import os; os.system('your-batch-file')"
    • Рабочий каталог: (выберите каталог проекта, к сожалению, нет макросов здесь)

Ответ 3

Я думаю, что самый простой способ - просто написать python script, который вызывает файл .bat, а затем запустить это:

from subprocess import Popen

p = Popen("batch.bat", cwd=r"C:\Path\to\batchfolder")
stdout, stderr = p.communicate()