Удаленное кодирование и выполнение с помощью Python: какая IDE? - PullRequest
10 голосов
/ 06 июля 2010

Последние шесть месяцев я занимаюсь разработкой проекта на python и люблю язык.Но мне еще предстоит найти IDE или текстовый редактор, который мог бы предоставить мне некоторые дополнительные функции.В настоящее время у меня есть подсветка синтаксиса, которая является одной из самых простых вещей, но не намного.Я мечтаю, чтобы моя среда разработки перешла на строку в моем коде, которая вызвала сбой, вместо того, чтобы читать номер строки из обратной трассировки и вручную находить его в моем текстовом редакторе.Я искал что-то, что могло бы сделать это в рамках моих ограничений развития, но безуспешно.Мои ограничения следующие:

  • Разрабатываемый код Python находится на удаленной машине, оснащенной достаточным количеством ОЗУ и ЦП для выполнения кода.На этой машине нет экрана или клавиатуры.
  • Я пишу код с моего ноутбука, MacBook Pro, работающего под управлением OS X, который не предназначен для выполнения кода.
  • Удаленная машина работает под управлением Fedora 12 и предоставляетСоединение SSH с доступом с правами root.
  • У меня недостаточно домашнего подключения для запуска IDE X11 на удаленном компьютере и отображения интерфейса на моем компьютере.

Что яДо сих пор я выполнял вход на удаленную машину через SSH, используя отличный клиент CyberDuck .Это позволяет мне открывать текстовый файл, находящийся на удаленном компьютере, в любом из моих обычных текстовых редакторов, таких как TextMate или TextWrangler , и автоматически загружать изменения при каждом сохранении файла.Это действительно дает вам чувство, что вы редактируете удаленный файл в вашем обычном интерфейсе какао.

Затем, чтобы выполнить код Python, я открываю второе соединение SSH, на этот раз с помощью терминала, в который я набрал бы:

$ ssh user@dns
$ ipython -pylab
$ execfile("/projectdir/code.py")

Наконец, я читаю обратную трассировку и возвращаюсь в свой локальный текстовый редактор, чтобы найти правильный номер строки.Должен быть лучший способ!Есть идеи?

Ответы [ 5 ]

2 голосов
/ 06 июля 2010

Вот хороший список Python-редакторов .

На мой взгляд WingIDE (есть бесплатная версия) очень многофункциональный, хороший и простойи поддерживает Remote-Debugging (только в коммерческой версии).Также стоит обратить внимание на Eclipse PyDev-Plugin, который является полностью бесплатным и поддерживает Remote-Debugging .

1 голос
/ 06 июля 2010

Вам может понравиться или не понравиться это предложение, но я бы использовал vim, настроив makeprg и errorformat соответственно. Таким образом, вы можете ssh войти, как обычно, редактировать файлы непосредственно на удаленном компьютере и компилировать / исправлять ошибки, используя quickfix-errorlist. Это будет только стоить вам времени, чтобы правильно установить makeprg и errorformat. Если вы немного копаете, информация там.

EDIT

  1. ssh user@intoyourbox.com
  2. Поместите строки внизу этого ответа в ~ / .vimrc
  3. vim somemodule.py
  4. Введите ": make somemodule.py"
  5. Введите ": cw", что может обозначать c как на языке, окно
  6. vim откроет окно [Список исправлений]
  7. Курсор над ошибкой в ​​[списке быстрых исправлений]
  8. Нажмите ввод
  9. vim меняет курсор на окно выше и помещает его в ошибку
  10. Исправьте ошибку, используя ваши навыки vim, ": h" для помощи и учебных пособий
  11. Ctrl + w, j переместит курсор вниз по окну, обратно к вашему списку быстрых исправлений
  12. Ctrl + w, k переместит курсор вверх по окну
  13. При необходимости повторите шаги 7-12
  14. ": make somemodule.py", чтобы убедиться, что вы все исправили
  15. Добро пожаловать в темную сторону, правила Vim.

~ / .vimrc настройки:

"python makeprg settings

setlocal makeprg=python\ %

setlocal errorformat=
        \%A\ \ File\ \"%f\"\\\,\ line\ %l\\\,%m,
        \%C\ \ \ \ %.%#,
        \%+Z%.%#Error\:\ %.%#,
        \%A\ \ File\ \"%f\"\\\,\ line\ %l,
        \%+C\ \ %.%#,
        \%-C%p^,
        \%Z%m,
        \%-G%.%#

Установка makeprg сообщает vim, что ваш "компилятор" - это python. Установка errorformat говорит vim, как анализировать выходные данные вашего "компилятора", чтобы вы могли перейти к ошибочным строкам. Посмотрите в Интернете, есть много предложений Vimrc для программирования на Python. Также есть настройки makeprg / errorformat для Xcode / Visual C ++ / Perl / и т. Д., Которые действительно делают vim беспроигрышной, если вы программируете на разных языках. Есть и другие интересные вещи, такие как автоиндентирование, завершение кода и подсветка синтаксиса. Наслаждайтесь

Примечание. Эти настройки были взяты почти дословно из здесь .

0 голосов
/ 03 апреля 2018

Вы можете попробовать Профессиональную версию PyCharm.На сегодняшний день это лучший удаленный отладчик, который я когда-либо обнаруживал. Для удаленной разработки доступны все функции отладки.Единственный улов в том, что вам, возможно, придется раскошелиться на несколько долларов в год.

0 голосов
/ 06 июля 2010

Прошло много лет с тех пор, как я его использовал, но коммерческая версия Komodo включает в себя удаленный отладчик и, как правило, является очень компетентным пакетом для программирования на Python.автономный удаленный отладчик: WinPdb - который, несмотря на название, работает на Mac и Linux - очень хорош.

0 голосов
/ 06 июля 2010

Вы должны следить за PyCharm - он еще не готов к работе, но у него есть реальный потенциал стать отличной IDE.Я использую его уже около 7 месяцев - вы можете продлить 45-дневную бесплатную пробную версию, если сохраняете текущую сборку.Я считаю, что удаленная отладка - это функция, которую будет поддерживать рабочая версия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...