2014-01-29 4 views
0

У меня есть скрипт, который используется моим офисом. Установочные привилегии ограничены, и установка Python на каждом компьютере была бы проблемой, поэтому я установил Anaconda на сервер. Он отлично работает, если у вас есть кабель Ethernet, он медленный, если вы используете Wi-Fi, и если вы подключаетесь к серверу на сервере, он не работает (я получаю заставку сценария, а затем ничего).Улучшение производительности скрипта при удаленном запуске

Этот последний бит - проблема!

Есть ли какие-либо трюки, которые я могу сделать в Python, которые позволят сценарию запускаться, когда соединение с исполняемым файлом и скриптом Python ужасно?

+0

Одинаковая проблема здесь, как с удаленным кодом, так и с сайтом-пакетом (~ 20 с момента запуска vs <1s локально). Вопрос о досрочном голосовании, * * *. –

ответ

1

В Windows вы должны исследовать py2exe, который позволяет запускать исполняемый файл без необходимости установки Python. В OSX вы должны исследовать py2app, который очень похож. Я не знаю об эквиваленте для Linux.

Я думаю, что это позволит вам создать единый автономный исполняемый файл, который должен значительно снизить накладные расходы сети.

+0

Спасибо за ответ, но, к сожалению, я посмотрел на '' 'py2exe''', и это не сработает для меня по нескольким причинам. Самым большим является то, что я не могу создать один исполняемый файл из-за некоторой зависимости (я забыл, что). – wnnmaw

+1

Я подозреваю, что низкая производительность, скорее всего, будет вызвана тем, как Python проверяет PYTHONPATH при загрузке модулей (в том числе из пакетов сайта, таких как 'os'). Каждый импорт будет вызывать множественную статистику по файлу, что приведет к многократным поездкам с клиентом. Убедитесь, что PYTHONPATH как можно короче, и, если это возможно, сбрасывайте пути. Также подумайте о создании zip (http://docs.python.org/2/library/zipimport.html) для импорта (но это будет зависеть от ваших зависимостей). –

+0

К сожалению, это гигантский сценарий (~ 8000 строк) с большим количеством зависимостей (~ 40 импорта), который я не думаю, что могу устранить без массивного капитального ремонта (и даже тогда я мог бы избавиться от 6?) – wnnmaw

Смежные вопросы