Я написал сценарий, выполнение которого занимает очень много времени, и использую модуль (tqdm), чтобы получать отзывы о его ходе. При запуске в удаленной среде через PyCharm производительность сценария составляет от 800 до 1000 итераций в секунду, что дает расчетное общее время выполнения где-то между 4 и 5 часами.
Проблемы возникают, когда я пытаюсь запустить сценарий через классическую командную строку Linux в той же удаленной среде. При тех же обстоятельствах, в той же среде, с использованием той же команды, с той лишь разницей, что я набрал ее сам, а не PyCharm выдал ее за меня, производительность сценария падает до 200–300 итераций в секунду, что приводит к примерно 10–16 часам работы.
В PyCharm окно конфигурации запуска моего сценария выглядит следующим образом:

Как видите, используемый интерпретатор находится на моем сервере разработки, в виртуальной среде, используемой всем проектом.
Мне пришлось скрыть имя и параметры скрипта, что может показаться вам неудобным, но я не думаю, что моя проблема в любом случае связана с самим скриптом или его содержимым.
Чтобы запустить тот же сценарий через командную строку, я делаю следующее:
- SSH к моему серверу
- в папку моего проекта
Код: Выделить всё
cd - активировать мою среду
Код: Выделить всё
export PYTHONPATH=$(pwd)- запустите тот же сценарий с теми же параметрами
Я также пробовал, пытаясь идеально имитировать то, что делает Pycharm:
- копировать точный вывод команды PyCharm при запуске сценария и вставлять его в свой терминал (безрезультатно)
- выдавать команду экспорта PYTHONUNBUFFERED=1 перед запуском сценария, что, как я знал, ничего не изменит (это нет)
Любой ввод, связанный с чем-либо, что делает PyCharm, который может даже удаленно ускорить некоторые аспекты выполнения скрипта Python, приветствуется!
Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/553 ... -in-comman
Мобильная версия