Jump to content
MariushO

Python-jakie IDE?

Recommended Posts

Mam pytanie do osób programujących w pythonie. Kod piszecie w edytorze textowym czy macie może jakies ulubione srodowisko IDE?

Wlasnie zaczynam nauke tego jezyka i pisanie w Notpadzie jest uciążliwe dla poczatkujacego.

Share this post


Link to post
Share on other sites
a wspiera on PyQt?

Wing IDE works with Python 2.x and 3.x and can be used with Django, matplotlib, Zope, Plone, Google App Engine, PyQt, PySide, wxPython, PyGTK, Tkinter, mod_wsgi, pygame, Autodesk Maya, NUKE, Blender, and many other Python frameworks.

Pytanie czy "works/can be used with" oznacza że wspiera te rozszerzenia :D

Share this post


Link to post
Share on other sites

Mam jeszcze pytanie. Maya 2014 obsługuje pythona 2.7.3. Ja teraz ucze się na wersji 3.4. Czy jakos będzie to kompatybilne wstecz?

Wiem, że od wersji 3 pythona, były spore zmiany w stosunku do 2 i czesc kodowania zmienila się całkowicie. Jakoś da się to ogarnąć ucząc się najnowszej wersji, czy chcąc pisać skrypty pythona dla mayki, musze jednak się uczyc wersji 2.7?

Sorki za lamerskie pytanie, ale zaczynam dopiero nauke.

Share this post


Link to post
Share on other sites
Mam jeszcze pytanie. Maya 2014 obsługuje pythona 2.7.3. Ja teraz ucze się na wersji 3.4. Czy jakos będzie to kompatybilne wstecz?

Wiem, że od wersji 3 pythona, były spore zmiany w stosunku do 2 i czesc kodowania zmienila się całkowicie. Jakoś da się to ogarnąć ucząc się najnowszej wersji, czy chcąc pisać skrypty pythona dla mayki, musze jednak się uczyc wersji 2.7?

Sorki za lamerskie pytanie, ale zaczynam dopiero nauke.

 

Obawiam się, że łatwiej przeskoczyć z 2.7 na 3.x niż odwrotnie, a jeśli pracujesz w branży to jeszcze przez rok, dwa, albo trzy interesuje Cię wyłącznie Python 2.x, bo... Maya, XSI, Nuke, Houdini, Qube, Deadline, Cortex, Blender, whatever, name it...

 

Co do IDE, polecam dowolny wypasiony edytor..., choćby taki jak sublime, 50$ i pełnia szczęścia. IDE jest dla zgredów z tysiącami linijek centralki telefonicznej na warsztacie.

Share this post


Link to post
Share on other sites

@Symek wlasnie się obawiałem tego co napisales o wersjach pythona. Przegladalem taka tabelke jakie zmiany zaszly w wersji 3.x i jest tego trochę. A tak swoja droga, to implementacja Pythona do 3.x w mayce czy w hudym, to rzeczywiście jeszcze kwestia 2, 3 lat? W czym tkwi problem?

Share this post


Link to post
Share on other sites
@Symek wlasnie się obawiałem tego co napisales o wersjach pythona. Przegladalem taka tabelke jakie zmiany zaszly w wersji 3.x i jest tego trochę. A tak swoja droga, to implementacja Pythona do 3.x w mayce czy w hudym, to rzeczywiście jeszcze kwestia 2, 3 lat? W czym tkwi problem?

 

Różnice z punktu widzenia własnego API, takiego jak PyMEL czy HOM są minimalne.Opóźnienie, moim zdaniem, wynika między innymi z potrzeby zgodności z zewnętrznymi modułami (w tym z pipelinem studiów), oraz ze zwykłej niechęci do zbędnego zawracanie głowy. Dla Mai czy Houdiniego Python 3 nie ma wielkich propozycji. Utrzymywanie dwóch wersji interpretera w aplikacji będzie uciążliwe, a przesiadka na trójkę bez pewności, że wszyscy już tam są, nie byłaby przyjęta z entuzjazmem. Krótko mówiąc, jeśli ktoś pisze w Pythonie webowy framework, przesiadka na trójkę może być kusząca. W VFX Python to wrapper wokół natywnych API + rozwijany od lat pipeline, więc wpływ samego języka jest minimalny.

 

Plusem trójki może być na przykład łatwiejsze zagnieżdżanie Pythona czy rozwiązanie problemów z wielowątkowością, ale to inna historia.

Share this post


Link to post
Share on other sites

No pewno masz racje. Pipeline kodowane od kilku lat na pythonie 2.x wymaglaloby dość sporego nakładu pracy do przekształcenia na 3.x. Teraz jak się wglebilem trochę bardziej w ten jezyk, to nie ma zbyt dużych roznic, jak wydawalo mi się wcześniej.

A swoja droga, nie wiem czy kojarzysz taki soft, jak Clarisse Ifx? Tam w swoim API powiązali pythona z bibliotekami c++ za pomocą SWIG'a i dali duże możliwości programistom pythona.Jakby tak mayka albo hudy podążyli za tym wzorcem, byłoby niezle pole do popisu.

Share this post


Link to post
Share on other sites

w Mayi możesz wywoływać funkcje z API w Pythonie. W dokumentacji jest określone które i jak. Sporo osób tworzących pluginy najpierw pisze prototyp w pythonie, a dopiero później przepisują plugin na c++.

Kiedyś był chyba nawet takim myk że skrypty pythonowe trzeba było kompilować do pluginów żeby je odpalać.

 

Obczaj sobie ten tutek. Koleś najpierw robi noda w pythonie, a później ten sam node przepisuje w c++:

http://www.cgcircuit.com/lessondetailcomplete.php?val=783

Share this post


Link to post
Share on other sites
No pewno masz racje. Pipeline kodowane od kilku lat na pythonie 2.x wymaglaloby dość sporego nakładu pracy do przekształcenia na 3.x. Teraz jak się wglebilem trochę bardziej w ten jezyk, to nie ma zbyt dużych roznic, jak wydawalo mi się wcześniej.

 

Nie jestem ekspertem od trójki, ale to zdaje się tak właśnie wyglądało, że powstała dla idei spójności naprawiając wyjątki i nielogiczności, których Python nabawił się w okresie niemowlęctwa. Ponieważ Python to jest twór sztuczny, nakładka syntaktyczna na mechanizmy działające niżej w C, nie jest wykluczone, że interpreter 2.7 ma wszystkie architektoniczne nowości 3.X, tylko dopuszcza inną składnię. Te różnice to nie to samo, co skok z C++98 na C++11.

 

A swoja droga, nie wiem czy kojarzysz taki soft, jak Clarisse Ifx? Tam w swoim API powiązali pythona z bibliotekami c++ za pomocą SWIG'a i dali duże możliwości programistom pythona.Jakby tak mayka albo hudy podążyli za tym wzorcem, byłoby niezle pole do popisu.

 

Właściwie każda aplikacja udostępnia swoje wnętrzności Pythonowi za pomocą SWIG'a. Pytanie tylko, ile z tych wnętrzności można i warto udostępniać. Sytuacja Houdiniego jest tutaj dość wyjątkowa, ponieważ Houdini nie posiada ani odpowiednika MEL'a, czyli języka dowodzącego rdzeniem programu, ani stabilnego SDK dla zewnętrznych developerów, takiego jak Maya SDK. Ani Hscript ani HDK nie nadają się do wrappowania Pythonem, tak jak to zrobiła Maya z MEL'em i SDK.

 

Houdini potrzebował czegoś zupełnie nowego i tak powstał HOM, który jest API w C++ dla Pythona lub czegokolwiek innego (via SWIG). HOM jest w pełni rozszerzalny, więc w tym sensie możesz do Pythona w Houdinim dodawać więcej wnętrzności wedle upodobań, ale tę pracę trzeba wykonać ręcznie, ponieważ HDK jako takie nie nadaje się do tego, jest za duże i zbyt skomplikowane, nie spełniałoby po prostu swojej roli.

 

Inna sprawa, że jak już tego Pythona zrobili, zrobili to dobrze. HOU jest mega eleganckie, czego o natywnym Pythonie w Mai powiedzieć nie można (w każdym razie sądząc po istnieniu PyMel). Python w Nuke'u jest niekompletny, o burdelu w XSI nie wspominając...

 

A jak dodam do tego inlinecpp, które bez kompilacji w locie umożliwia mi korzystanie z obiektów i metod C++ w kodzie Pythona, tudzież możliwość wołania VEX w Pythonie, to nawet brak czegoś na kształt MayaSDK w Houdinim łatwiej mi przełknąć :)

Edited by SYmek

Share this post


Link to post
Share on other sites

@Creator tutek jest ciekawy i sporo mi wyjasnil. Poczytalem dokumentacje Mayki, no i wynika, ze python w niej jest polaczony w podobny sposob jak we wcześniej wspomnianej Clarisse. Nie bardzo jeszcze kumam, jak to się ma odnośnie wykorzystania SWIG'a. No ale wszystko pomalu, pewnie to z czasem ogarne.

Edited by MariushO

Share this post


Link to post
Share on other sites

@SYmek dzięki, trochę bardziej naswietliłes mi ta sprawę odnośnie SWIG'a.

 

 

Z tego co doczytałem w opisach, czesc nowości pythona 3.x została zaimplementowana w 2.7, ale nie wszystkie.

Dobre jest chyba to, ze te nowości można kodować(po części) według reguł pythona 2.x i 3.x.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy