Скрипт работает лучше при запуске через PyCharm, чем при запуске непосредственно в командной строке.Python

Программы на Python
Ответить
Anonymous
 Скрипт работает лучше при запуске через PyCharm, чем при запуске непосредственно в командной строке.

Сообщение Anonymous »

Этот же вопрос уже задавался здесь, но ответа не было.

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

Проблемы возникают, когда я пытаюсь запустить сценарий через классическую командную строку Linux в той же удаленной среде. При тех же обстоятельствах, в той же среде, с использованием той же команды, с той лишь разницей, что я набрал ее сам, а не PyCharm выдал ее за меня, производительность сценария падает до 200–300 итераций в секунду, что приводит к примерно 10–16 часам работы.

В PyCharm окно конфигурации запуска моего сценария выглядит следующим образом:
Изображение
Как видите, используемый интерпретатор находится на моем сервере разработки, в виртуальной среде, используемой всем проектом.

Мне пришлось скрыть имя и параметры скрипта, что может показаться вам неудобным, но я не думаю, что моя проблема в любом случае связана с самим скриптом или его содержимым.

Чтобы запустить тот же сценарий через командную строку, я делаю следующее:
  • SSH к моему серверу
  • в папку моего проекта
  • активировать мою среду
  • Код: Выделить всё

    export PYTHONPATH=$(pwd)
  • запустите тот же сценарий с теми же параметрами
... что на самом деле должно привести к такому же поведению, верно? Ну да, но не с той же скоростью. Падение производительности на 70% происходит по причинам, которые я не могу понять и которые, похоже, нигде не описаны в Интернете.

Я также пробовал, пытаясь идеально имитировать то, что делает Pycharm:
  • копировать точный вывод команды PyCharm при запуске сценария и вставлять его в свой терминал (безрезультатно)
  • выдавать команду экспорта PYTHONUNBUFFERED=1 перед запуском сценария, что, как я знал, ничего не изменит (это нет)
Я схожу из-за этого с ума. Является ли это результатом каких-то сомнительных махинаций PyCharm?

Любой ввод, связанный с чем-либо, что делает PyCharm, который может даже удаленно ускорить некоторые аспекты выполнения скрипта Python, приветствуется!

Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/553 ... -in-comman
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»