Jeg har brug for en begynder guide til opsætning af windows til python udvikling

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder i øjeblikket med .NET udelukkende og vil gerne have en tur på python. Til dette formål skal jeg etablere et python udviklingsmiljø. Jeg vejledning til dette ville være praktisk. Jeg gætter på, at jeg ville gøre webudvikling, så det bliver nødvendigt med en webserver og sandsynligvis en database. Jeg har også brug for pointers til populære ORM'er, en MVC-ramme og et testbibliotek.


Et af mine vigtigste kriterier med alt dette er, at jeg vil forstå, hvordan det virker, og jeg vil have, at det er så isoleret som muligt. Dette er vigtigt, da jeg er på vagt over forurenende, hvad der er et arbejdsmiljø. NET-miljø med tredjeparts web- og databaseservere. Jeg er helt glad for at bruge SQLite til at starte med, hvis dette er muligt.


Hvis jeg går godt i gang med dette, vil jeg også gerne opsætte automatiseret build og ci server (på en virtuel maskine, sandsynligvis ubuntu). Eventuelle forslag til disse ville være nyttige.


Mit ultimative mål, hvis jeg kan lide python, er at have lignende former for værktøjer, som jeg har tilgængelig med .NET og virkelig forstår opbygningen og implementeringen af ​​det hele. Til at begynde med vil jeg regne med et simpelt udviklingsmiljø, der er så isoleret som muligt, og det vil være let at fjerne, hvis jeg ikke kan lide det. Jeg vil ikke bruge IronPython, da jeg vil have den fulde erfaring med at udvikle en pythonløsning ved hjælp af de værktøjer og rammer, der generelt anvendes.

Bedste reference


Det er ikke så svært at oprette et Python-miljø, og jeg har aldrig fået det til at mødre mit .NET-arbejde. I grund og grund skal du installere Python --- Jeg bruger 2.6 i stedet for 3.0, hvilket endnu ikke er bredt accepteret --- og tilføj det til din PATH, og du er klar til at gå med sproget. Jeg vil ikke anbefale at bruge en Ubuntu VM som dit udviklingsmiljø, hvis du arbejder på Windows, kan du lige så godt udvikle sig på Windows, og jeg har ikke haft nogen betydelige problemer med det. Jeg går frem og tilbage fra Windows til Linux uden problemer.


Hvis du har en redaktør, som du er komfortabel med, der har grundlæggende support til Python, holder jeg mig til det. Hvis ikke, har jeg fundet Geany at være en flot, let, brugervenlig redaktør med god Python-support, selvom jeg bruger Emacs selv, fordi jeg kender det, andre mennesker som SCITE, NotesPad ++ eller en række andre Jeg undgår fancy IDE'er for Python, fordi de ikke matcher sprogets karakter, og jeg ville ikke bryde med IDLE (inkluderet i Python), fordi det er en kongelig smerte at bruge. [4] [5] [6] [7]


Forslag til biblioteker og rammer:



  • Django er standard webrammen, men det er stort, og du skal arbejde django Jeg foretrækker CherryPy, som også understøttes aktivt, men er let, giver dig stor frihed og indeholder en flot, solid webserver, der nemt kan erstattes med httpd.

  • Django indeholder sit eget ORM, hvilket er godt nok; der er dog en selvstændig en til Python, som er endnu pænere: SQL Alchemy

  • For så vidt et testbibliotek går, synes pyunit mig at være det indlysende valg



Held og lykke og velkommen til et rigtig sjovt sprog! [8] [9] [10] [11]


EDIT resumé: Jeg har oprindeligt anbefalet Karrigell, men kan ikke mere: siden 3.0 udgivelsen er den blevet brudt kontinuerligt, og samfundet er ikke stort nok til at løse problemerne. CherryPy er en god erstatning, hvis du kan lide en let, enkel ramme, der ikke kommer i vejen, så jeg har ændret ovenstående for at foreslå det i stedet. [12] [13]

Andre referencer 1


Nå, hvis du tænker på at oprette en Ubuntu VM, kan du lige så godt gøre dit udviklingsmiljø. Derefter kan du installere Apache og MySQL eller Postgres på den VM bare via standardemballageværktøjerne (apt-get install), og der er ingen fare for at forurene dit Windows-miljø.


Du kan enten gøre den faktiske udvikling på din Windows-maskine via din foretrukne IDE, bruge VM'en som netværksdrev og gemme koden der, eller du kan bare bruge VM'en som et fuldt desktop-miljø og gøre alt der, hvilket er hvad jeg vil anbefale.

Andre referencer 2


Installer den forudkonfigurerede ActivePython-frigivelse fra activestate.
Blandt andre funktioner omfatter den PythonWin IDE (kun Windows), som gør det nemt at udforske Python interaktivt. [14]


Den anbefalede reference er Dive Into Python , nævnt mange gange på lignende SO-diskussioner. [15]

Andre referencer 3


Du skal installere python 2.4, python 2.5, python 2.6 og python 3.0 og tilføj til din sti den, du bruger oftere (Tilføj c: \ Pythonxx \ og c: \ Pythonxx \ Scripts).


For hver python 2.x skal du installere easy\_install; Download ez\_setup.py og derefter fra cmd: [16]


c:Python2xpython.exe x:path	oez\_setup.py
c:Python2xScriptseasy\_install virtualenv


Så hver gang du starter et nyt projekt, opret et nyt virtuelt miljø for at isolere den specifikke pakke, du har brug for til dit projekt:


mkdir <project name>
cd <project name>
c:Python2xScriptsvirtualenv --no-site-packages .v


Den opretter en kopi af python og dets biblioteker i .v \ Scripts og. \ V \ Lib. Hver tredjepartspakke, du installerer i dette miljø, vil blive lagt i. \ V \ Lib \ site-pakker. Ikke-webstedspakkerne giver ikke adgang til den globale webstedspakke, så du kan være sikker på, at alle dine afhængigheder er i. \ V \ Lib \ site-pakker.


Sådan aktiverer du det virtuelle miljø:


.vScriptsactivate


For rammerne er der mange. Django er stor og meget veldokumenteret, men du bør nok se på Pylons først for sine dokumentationer om unicode, emballering, implementering og test og for bedre WSGI support.


For IDE kommer Python med IDLE, som er nok til at lære, men du vil muligvis gerne se Eclipse + PyDev, Komodo eller Wingware Python IDE. Netbean 6.5 har beta-støtte til python, der ser lovende ud (se top 5 python IDE). [17]


For webserveren behøver du ikke noget, Python har sin egen og alle webrammer kommer med deres egen. Du vil måske installere MySql eller ProgreSql; det er ofte bedre at udvikle sig på samme DB, du vil bruge til produktion.


Når du har lært Python, skal du også se på Fundamentals of Agile Python Development eller Expert Python Programmering. [18] [19]

Andre referencer 4



  • Brug af Python på Windows

  • SO: Python-vejledning til samlede begyndere?


Andre referencer 5


Tag et kig på pyloner, læs om WSGI og Indsæt.
Der er en god introduktionsteknologi i Google Tech om dem: ReUsable Web Components med Python og Future Python Web Development. [20] [22] [23] [24] [25]


Her er mit svar på lignende spørgsmål:
Django vs andre Python web rammer?

Andre referencer 6


Miljø?


Her er den enkleste løsning:



  • Installer Active Python 2.6. Dens Python selv, men kommer med nogle ekstra nyttige nyttige ting, som DiveintoPython chm. [27]

  • Brug Komodo Edit 5. Det er blandt de gode gratis editorer, du kan bruge til Python. [28]

  • Brug IDLE. Det er den bedste enkleste kortuddragsredigeringsredaktør, med syntaxbelysning og automatisk fuldført uovertruffen af ​​de fleste andre IDE'er. Den kommer med python. [29]

  • Brug Ipython. Det er en shell, der gør syntax fremhævende og automatisk komplet, bash funktioner, smuk udskrivning, logning, historie og mange sådanne ting. [30]

  • Installer easy\_install og/eller pip for at installere forskellige 3rd party apps nemt. [31]



Kommer fra Visual Studio og .Net vil det lyde meget anderledes, men det er en helt anden verden.


For rammerne fungerer django bedst. Gå gennem tutorialen, og du vil blive imponeret nok. Dokumentationen klipper. Samfundet, du er nødt til at se for dig selv at vide, hvor vidunderligt det er !! [32]

Andre referencer 7


BEMÆRK: Jeg omfattede mange links til rammer, projekter og hvad som helst, men som ny bruger var jeg begrænset til 1 link pr. Svar. Hvis en anden med et tilstrækkeligt ry for at redigere ønsker/kan redigere dem i dette svar i stedet for fodnoter, er jeg taknemmelig.


Der er nogle Python IDE'er som Wing IDE
c:Python2xpython.exe x:path	oez\_setup.py
c:Python2xScriptseasy\_install virtualenv
, jeg tror, ​​at nogle mennesker også bruger Eclipse
mkdir <project name>
cd <project name>
c:Python2xScriptsvirtualenv --no-site-packages .v
med et python-plugin
.vScriptsactivate
. Mange mennesker i FreeNode's #python-kanal synes at foretrække vim, emacs, nano og lignende tekstredaktører til fordel for IDE'er. Min personlige præffered editor er Vim, men hvis du har gjort det meste. NET udvikling på Windows, formodentlig med de sædvanlige Visual X IDE'er, vil VIM og emacs sandsynligvis forårsage dig kulturchok, og du vil være bedre til at bruge en IDE.


Næsten alle python web-rammer * understøtter WSGI-standarden [4], de fleste af de store webservere har en slags plugin til at understøtte WSGI, de andre understøtter WSGI via hurtig cgi eller plain cgi.


Zope [5] og Django [6] rammer har deres egne ORM'er, andre ORM'er er de to mest velkendte, der synes at være SQL Alchemy [7] og SQL Object [8]. Jeg har kun erfaring med den tidligere, men begge understøtter alle mulige sane database valg, herunder SQLite, der er installeret sammen med Python og dermed perfekt egnet til at teste og eksperimentere uden at forurense dit .NET miljø med 3. del webservere og databaseservere.


De indbyggede unittest [9] og pyunit [10] rammer synes at være de præfferede løsninger til enhedsprøvning, men jeg har ikke meget erfaring med disse.


bpython [11] og ipython [12] tilbyder forbedrede interaktive pythonskaller, der i høj grad kan hjælpe med at fremskynde og teste små bits kode og dermed værd at se på.


Hvad angår en liste over velkendte og ofte anvendte webrammer, se i de følgende rammer **:



  • Twisted [13] er en generisk netværksramme, der understøtter næsten hver eneste protokol under solen.

  • Pyloner [14] er lette rammer, der har til formål at være så fleksible som muligt og efterlader alle valg om, hvilket ORM, templerende sprog og hvad ikke for dig.

  • CherryPy [15] forsøger at levere en grænseflade til at udsætte Python-objekter på nettet.

  • Django [6] forsøger at være en alt-i-en-løsning, indbygget skabelon system, ORM, admin sider og internationalisering. Mens de tidligere rammer har flere DIY ledninger sammen forskellige rammer arbejde involveret med dem.

  • Zope [5] har til formål at være egnet til store virksomhedsapplikationer, jeg har kun hørt intet andet end gode ting om det, men enighed ser ud til at være for mindre du, er sikkert bedre med en af ​​de enklere og mindre rammer .

  • TurboGears [16] er den ramme jeg ved mindst om, men det ser ud til at være for det meste konkurrence for Django.



Dette er alt, hvad jeg kan tænke på lige nu, jeg vil redigere og tilføje ting, hvis jeg kan tænke på det. Jeg håber det hjælper dig med nogle i pythons vidunderlige verden.





* - Den største undtagelse ville være Apache's mod\_python, som du bør undgå af netop den grund, brug mod\_wsgi i stedet.

** - Advarsel, jeg har ikke personligt brugt disse rammer Dette er kun et meget kort indtryk, jeg har fået fra at tale med andre mennesker om hver ramme, det kan være vildt unøjagtigt. (Hvis nogen har nogen rettelser, kommentér og jeg vil prøve at redigere og rette dette svar).


(Http://mangler, da de igen anerkendes som links)

c:Python2xpython.exe x:path	oez\_setup.py
c:Python2xScriptseasy\_install virtualenv
www.wingware.com/

mkdir <project name>
cd <project name>
c:Python2xScriptsvirtualenv --no-site-packages .v
www.eclipse.org/

.vScriptsactivate
pydev.sourceforge.net/

[4] wsgi.org/wsgi/

[5] www.zope.org/

[6] www.djangoproject.com/

[7] www.sqlalchemy.org/

[8] www.sqlobject.org/

[9] docs.python.org/library/unittest.html

[10] pyunit.sourceforge.net/pyunit.html

[11] www.bpython-interpreter.org/

[12] ipython.scipy.org/

[13] twistedmatrix.com/trac/

[14] pylonshq.com/

[15] www.cherrypy.org/

[16] turbogears.org/


Andre referencer 8


Python har opbygget SQL som database og webserver, så du behøver ikke installere tredjeparts apps. Husk, at Python leveres med batterier inkluderet.

Andre referencer 9


Hvis du har arbejdet med Eclipse, før du kunne give Pydev et forsøg [33]