Ответ 1
Запуск модуля (или тестов в нем) в PyCharm
выполняется с помощью Run Configuration. Когда вы щелкните правой кнопкой мыши модуль, PyCharm
ищет существующий Run Configuration
для этого модуля. Если найдена конфигурация (это может быть связано с предыдущим запуском или ручным созданием Configuration
), PyCharm
предложит только запустить эту конфигурацию.
Например, если была создана конфигурация module.py
для запуска ее doctests
, это опция, которую мы увидим, щелкнув правой кнопкой мыши module.py
. Однако, если конфигурация не найдена, PyCharm
предлагает запустить модуль в разных вариантах, в зависимости от кода в модуле (регулярно запускать или запускать doctests
/unittests
). После выбора опции PyCharm
неявно создает соответствующий, временный, Run Configuration
. Здесь, при щелчке правой кнопкой мыши по модулю, вы получите только конфигурацию, созданную для этого модуля.
Важное примечание: PyCharm сохраняет до 6 временных (т.е. Configurations
, которые были созданы при запуске модуля) Run Configurations
- 3 в "Python", то есть скрипты и 3 в "Тесты Python". Это означает, что если вы запустите moduleA.py
, moduleB.py
, moduleC.py
, а затем moduleD.py
, временный Configurations
в PyCharm будет moduleB.py
, moduleC.py
и moduleD.py
. Конфигурация moduleA.py
будет автоматически удалена, если явно не сохранено.
Это поведение можно воспроизвести следующим образом:
- В
PyCharm
создайте новый модуль Python: "temp"
2. Добавьте в модуль следующее:
"""
>>> print 3.14
3.14
"""
if __name__ == '__main__':
pass
- Щелкните правой кнопкой мыши в разделе doctest, чтобы выбрать "Run" Doctests in temp "
- Щелкните правой кнопкой мыши в разделе main, чтобы указать "Запустить" temp '"
- Выбор любого из параметров делает другой вариант исчезающим в последующих запусках. Например, выбрав запустить, модуль будет запускать опцию Doctests в последующих прогонах и наоборот. Возвращаясь к первому этапу, где можно было выбрать один из двух вариантов, можно, удалив модуль "Запустить конфигурацию":
Выполнить → Изменить конфигурацию → Найти текущую конфигурацию модуля (обычно выделено) → Нажмите кнопку "Минус" (верхний левый угол) → Нажмите "Применить" → Нажмите "ОК". Теперь мы вернемся к шагу 3.
(Воспроизводится в PyCharm
5.0 и 4.5)
Подводя итог:
- Если no
Run Configuration
найдено, PyCharm предлагает запустить модуль любым возможным способом (как script, doctests или unittests) - Если найдено a
Run Configuration
, PyCharm предлагает толькоConfiguration
. - Если PyCharm не дает вам вариант запуска, который вы хотите найти, найдите
Run Configuration
, который мешает ему предоставить вам этот параметр и удалить его, или создать новый, который будет запускаться файл или метод/функцию, как вы хотите.