Удаленное кодирование и выполнение с python: какая IDE?

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

  • разрабатываемый код python опирается на удаленную машину, оборудованную достаточным количеством ОЗУ и процессоров для запуска кода. У этой машины нет ни экрана, ни клавиатуры.
  • Я код с моего ноутбука, macbook pro под управлением OS X, который не предназначен для выполнения кода.
  • на удаленной машине работает Fedora 12 и обеспечивает SSH-соединение с root доступ.
  • мое соединение недостаточно хорошо дома, чтобы запустить X11 IDE на удаленной машине и отобразить интерфейс на моей машине.

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

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

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

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

5 ответов


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

редактировать

  1. ssh user@intoyourbox.com
  2. поставить линии в нижней части этого ответа в ~/.vimrc
  3. vim somemodule.py
  4. тип ":сделать somemodule.py"
  5. тип": cw " который может стоять для c как в языке, window
  6. vim появится окно [список Quickfix]
  7. курсор над ошибкой в списке [Quickfix]
  8. нажмите enter
  9. vim меняет курсор на окно выше и помещает его на ошибку
  10. исправьте ошибку, используя свои навыки vim,": h " для справки и учебники
  11. Ctrl+w, j переместит курсор вниз по окну, обратно в список quickfix
  12. Ctrl+w, k переместит курсор вверх по окну
  13. повторите шаги 7-12 при необходимости
  14. ": сделать somemodule.py-чтобы убедиться, что ты все исправил!--9-->
  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/etc, что действительно делает vim беспроигрышной ситуацией, если вы программируете на разных языках. Есть и другие причудливые вещи, такие как автоиндент, завершение кода и подсветка синтаксиса. Наслаждайтесь

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


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

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


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


прошли годы с тех пор, как я использовал его, но коммерческая версия Комодо включает удаленный отладчик и, как правило, очень компетентный пакет для программирования Python.

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


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