Jakie jest dobre środowisko IDE dla języka Python w systemie Mac OS X? [Zamknięte]


133

Mam zamiar rozpocząć nową pracę, w której praktyki kodowania są silnie skoncentrowane wokół TDD i refaktoryzacji, a podstawowym językiem programowania jest Python. Pochodzę ze świata Java i od dawna jestem pewnym użytkownikiem Eclipse. Kiedy nie pracuję w Javie, używam emacsa.

Szukam IDE dla Pythona, które da mi wiele możliwości, do których przyzwyczaiłem się z Eclipse, nie tylko do refaktoryzacji, ale także w zakresie uzupełniania kodu, zarządzania projektami, integracji SCM (obecnie CVS, ale prawdopodobnie przełącz się na git jeden z tych dni) et al.

Jakiego IDE powinienem używać?


Lubię Pythona w NetBeans IDE. Jest całkiem niezły - i darmowy.
Nick Predey,

Odpowiedzi:


29

Wypróbowałem wiele różnych (Kate, Eclipse, Scite, Vim, Komodo): każdy z nich ma jakieś usterki, albo ograniczone funkcje, albo powolny i nie odpowiada. Ostateczny wybór po wielu latach: Emacs + ropemacs + flymake. Okno dialogowe otwierania pliku projektu liny jest niezwykle szybkie. Bardzo pomocne są funkcje refaktoryzacji liny i wspomagania kodu. Flymake pokazuje błędy składniowe. Emacs to najbardziej konfigurowalny edytor. Jestem bardzo zadowolony z tej konfiguracji. Część konfiguracji związana z Pythonem znajduje się tutaj: public.halogen-dg.com browser / alex-emacs-settings / configs / cfg_python.el


Okazuje się, że jest to rozwiązanie, na które zdecydowałem się po wypróbowaniu Pydeva, TextMate (wieloletniego użytkownika tutaj, więc łatwo było spróbować :) i Nie, bez VIM! ;)
Chris R

2
Dlaczego nie ma vima? Jest artykuł o używaniu VIM-a jako środowiska Python IDE: blog.dispatched.ch/2009/05/24/vim-as-python-ide. Ale nie próbowałem tego. Właśnie zaczynam znajdować dobre Python IDE na Macu.
lukmac

1
pycharm musiał zostać wspomniany.
sdd


28

Używam TextMate do wszystkich moich potrzeb związanych z programowaniem w Pythonie. To nie jest IDE jako takie, ale robi wiele rzeczy, które robi IDE (bez wszystkich okruchów IDE). Ma podświetlanie składni, składanie kodu, integrację z różnymi SCM poprzez użycie dodatkowych pakietów (wiem, że obsługuje SVN, Git, Mercurial, Darcs i prawdopodobnie kilka innych). Jest również dość rozszerzalny i konfigurowalny (ponownie za pomocą pakietów). Posiada również podstawową koncepcję projektów. Jednak jednym miejscem, w którym nie świeci, jest uzupełnianie kodu; niektóre pakiety mają ograniczoną obsługę uzupełniania kodu, ale generalnie nie jest to tak niesamowite, jak w większości IDE specyficznych dla języka. Biorąc jednak pod uwagę, jak niesamowity jest TextMate, nie wiem, czy muszę to poświęcać. TextMate zdecydowanie zwiększył moją produktywność.


3
A zresztą, kto potrzebuje w pełni funkcjonalnego środowiska IDE do programowania w Pythonie? Język ma być kodowany gołymi rękami ;-)
e-satis

4
@ e-satis Deweloperzy, którzy chcą sprawdzać składnię w locie i inteligentne automatyczne uzupełnianie?
Cobby

@cobby: Możesz mieć bardzo podstawowe bezpłatne edytory, takie jak gedit. A jeśli potrzebujesz zaawansowanych funkcji, nadal możesz uniknąć IDE, używając zaawansowanego edytora tekstu, takiego jak textmate lub wysublimowany tekst. W każdym razie przez lata kodowałem Pythona bez sprawdzania składni w locie i chociaż używam go teraz, mogę potwierdzić, że nie jest to utrudnienie, jak w C lub w Javie.
e-satis

1
Wadą TextMate jest to, że nie można łatwo wyświetlić dwóch plików w tym samym projekcie w tym samym czasie.
tomwhipple

@tomwhipple - tak, pochodzący z Notepad ++, zdecydowanie zobowiązanie.
Smandoli

25

Pydev dla Eclipse , jak wspominali inni, jest dobry.

Netbeans ma wtyczkę beta Pythona, która jest trochę szorstka na krawędziach, ale może zmienić się w coś naprawdę fajnego.

Ponadto istnieje długa lista edytorów tekstu zorientowanych na programowanie dla komputerów Mac, które mogą, ale nie muszą, pasować do twoich potrzeb.

  • Textmate - kosztuje, ludzie uwielbiają ten program, ale nie użyłem go na tyle, żeby zobaczyć, o co tyle zamieszania.
  • Jedit - edytor tekstu oparty na Javie, ma kilka fajnych funkcji, ale czas uruchamiania nie jest świetny (ze względu na Javę).
  • CarbonEmacs - przyzwoity port Emacsa.
  • AquaEmacs - Lepszy port Emacsa.
  • TextWrangler - Lite, darmowa (jak w piwie) wersja BBEdit.
  • BBEdit - stara gwardia. Edytor defacto przed Textmate ukradł światło dzienne. Kosztowny.
  • Smultron - Bardzo fajny edytor, interfejs użytkownika jest podobny do Textmate.
  • Bezczynny - własny mały edytor Pythona, ma kilka fajnych funkcji, ale także kilka poważnych problemów. Osobiście uważam, że jest zbyt niestabilny do mojego użytku.
  • Sublime Text - To naprawdę fajny edytor tekstu, który ma zaskakująco dobrą obsługę Pythona.
  • Pycharm - Kolejna solidna pełna wersja IDE dla Pythona.

2
Dzięki za link do TextWrangler, dokładnie to, czego szukałem. ostry, mały edytor, szybkie otwieranie zatrzasków, nawet uruchamianie podstawowych skryptów Pythona bez większego zamieszania.
Ryan Townshend

Uwaga: PyDev dusi się selerem, więc bądź ostrożny.
cwallenpoole



5

Zwykle używam komodo edit lub aquamacs z ropemacami . Chociaż powinienem cię ostrzec, funkcje IDE nie będą tym, do czego jesteś przyzwyczajony, jeśli pochodzisz z tła Java lub C #. Osobiście uważam, że potężne IDE bardziej przeszkadzają mi niż pomagają.

UPDATE : Powinienem również zaznaczyć, że jeśli masz pieniądze, Komodo IDE jest tego warte. To płatna wersja Komodo Edit.




3

Jeśli masz budżet na swoje IDE, powinieneś wypróbować Wingware Professional, zobacz wingware.com.


Zwróć uwagę, że Wing 4 i wcześniejsze wymagały X11 na Macu, ale Wing 5+ działa natywnie.
Wingware

2

Użyłem WingIDE i byłem bardzo szczęśliwy. Intellisense jest całkiem niezły, niektóre inne rzeczy są nieco zwariowane, ale ogólnie jest to bardzo wydajne narzędzie


2

Jeśli szukasz interaktywnego środowiska i nie potrzebujesz kodować modułów, proponuję IPython . Chociaż zostało to opracowane z myślą o naukowcach / statystykach, będzie działać równie dobrze bez zainstalowanego żadnego z pakietów naukowych. Funkcje są potężne, z uzupełnianiem kodu, zintegrowaną pomocą, zintegrowanym debugowaniem itp., I działa jako notebook z integracją Markdown i MathJax. Zdecydowanie najlepszy wybór dla tych, którzy potrzebują zaawansowanych funkcji bez ładowania megabajtów GUI do pamięci RAM - ponieważ jest oparty na przeglądarce, jest używany w zawsze ładowanej instancji chrome / safari. ;-)




1

Obsługa Pythona w netbeans jest zaskakująco dobra i zawiera większość funkcji, których szukasz.


1
O jakiej wersji Netbeans mówisz? Nie znalazłem nic dla 7.0+
Mike Bevz

1

TextMate lub Panic's Coda. NetBeans działa bardzo dobrze, jeśli chcesz pełnowartościowego zlewozmywaka IDE.


1

Przez jakiś czas szukałem w Google takiej aplikacji i znalazłem tylko opcje z ciężkimi i brzydkimi interfejsami.

Następnie otworzyłem Mac App Store i znalazłem CodeRunner . Bardzo ładny i przejrzysty interfejs. Obsługa wielu języków, takich jak Python, Lua, Perl, Ruby, Javascript itp. Cena to 10 U $, ale warto!


1

„Który edytor / IDE dla…?” to długotrwały sposób na rozpoczęcie „Mój pies jest zbyt ładniejszy od twojego!” slapfest. Obecnie większość redaktorów zvim można używać wzwyż, istnieje wiele dobrych alternatyw, a nawet IDE, które zaczęły się jako narzędzia C lub Java, działają całkiem dobrze z Pythonem i innymi dynamicznymi językami.

To powiedziawszy, po wypróbowaniu kilku IDE (Eclipse, NetBeans, XCode, Komodo, PyCharm, ...), jestem fanem IDE ActiveState Komodo IDE. Używam go głównie w systemie Mac OS X, chociaż używam go również przez lata w systemie Windows. Jedna licencja prowadzi do dowolnej platformy.

Komodo jest dobrze zintegrowany z popularnymi wersjami samych języków ActiveState (szczególnie dla Windows), dobrze współpracuje ze wspaniałym (i Pythonic) systemem zarządzania zmianami Mercurial (między innymi) i ma dobre do doskonałych umiejętności dla podstawowych zadań, takich jak edycja kodu, kolorowanie składni, uzupełnianie kodu, sprawdzanie składni w czasie rzeczywistym i debugowanie wizualne. Jest trochę słaby, jeśli chodzi o wstępnie zintegrowane narzędzia do refaktoryzacji i sprawdzania kodu (np. Lina, pylint), ale jest rozszerzalny i ma dobre możliwości integracji narzędzi zewnętrznych i niestandardowych.

Niektóre rzeczy, które lubię w Komodo wykraczają poza pętlę zapisu-uruchomienia-debugowania. ActiveState od dawna wspiera społeczność deweloperów (np. Poprzez darmowe kompilacje języków, repozytoria pakietów, witrynę z przepisami, ...), od kiedy dynamiczne języki były trendem. Podstawowy edytor Komodo Edit jest darmowy i open source, będący rozszerzeniem technologii Mozilli Firefox. A Komodo jest wielojęzyczne. Nigdy nie kończę tylko w Pythonie, tylko w Perlu, czy po prostu cokolwiek. Komodo współpracuje z językiem podstawowym (Python, Perl, Ruby, PHP, JavaScript) wraz z językami pomocniczymi (XML, XSLT, SQL, X / HTML, CSS), językami niedynamicznymi (Java, C itp.) Oraz pomocnikami ( Pliki Makefile, pliki INI i konfiguracyjne, skrypty powłoki, własne małe języki itp.). Inni też mogą to zrobić, ale Komodo umieszcza je wszystkie w jednym miejscu, gotowe do pracy. To szwajcarski scyzoryk do języków dynamicznych.

Komodo IDE nie jest bynajmniej idealne, a edytory / IDE to najlepszy wybór YMMV. Ale regularnie z przyjemnością go używam i co roku szczęśliwie odnawiam subskrypcję pomocy technicznej. Rzeczywiście, właśnie sobie przypomniałem! To nadchodzi w tym miesiącu. Karta kredytowa: Out. Nie mam komercyjnego połączenia z ActiveState - po prostu zadowolony klient.




0

I może być trochę za późno na to, ale polecam Aptana Studio 3.x . Jest oparty na zaćmieniu i ma wszystko gotowe do użycia python. Ma bardzo dobre wsparcie DJango, HTML5 and JQuery. Dla mnie to doskonałe narzędzie do tworzenia stron internetowych. ja robięHTML5 and Android programowaniem, dzięki czemu nie muszę ciągle zmieniać różnych IDE. To moje rozwiązanie typu „wszystko w jednym”.

Uwaga: aby to działało, potrzebujesz dużej ilości pamięci RAM! Ponad 4 GB jest niesamowite!


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.