Instalacija psycopg2 na windows-u (7,8.1)
Koliko god Python bio nezavisan od platforme na kojoj se izvršava, nije zamišljen za programiranje na windows-u. Odgovorno tvrdim zato što programiram na windows-u (iz nebitnih razloga). Većina stvari je barem malo komplikovanija nego na linux-u ili OSx-u, a bilo šta što podrazumeva instalaciju/kompajliranje binarnih datoteka je unapred osuđeno na propast.
Jedna od tih stvari je i psycopg2, što je u stvari python drajver za PostreSQL bazu. Taj isti drajver se na ubuntu instalira jednom jedinom komandom, ali je meni na novoj Windows 8.1 mašini opet oduzeo dan života.
Kao što se lako može naći na internetu, najbolji i najlakši način da se instalira psycopg2 je da se uzme gotova binarna verzija istog. Za to postoji više načina a prvi na koji sam ja naišao je windows installer.
Pošto to nije proradilo odmah, prešao sam na sledeću siguricu iliti zicer: instalacija uz pomoć pip-a. Ovo je delovalo kao pobednička kombinacija sve dok nisam provalio da ne radi migracija:
Pip je fantastičan alat za instalaciju drajvera, ukoliko imaš instalirane sve ostale biblioteke od kojih drajver zavisi. Ovo sam otkrio tek kad sam pokrenuo instalaciju kao administrator. Pošto ja nemam, vratio sam se na korak 1.
Problem je bio u tome što windows installer nije mogao da pronađe python instalaciju u registry-ju. Zašto? Zato što windows installer pokušava da nađe x86/x64 ako instaliraš x86/x64 drajver.
Jedna od tih stvari je i psycopg2, što je u stvari python drajver za PostreSQL bazu. Taj isti drajver se na ubuntu instalira jednom jedinom komandom, ali je meni na novoj Windows 8.1 mašini opet oduzeo dan života.
Kao što se lako može naći na internetu, najbolji i najlakši način da se instalira psycopg2 je da se uzme gotova binarna verzija istog. Za to postoji više načina a prvi na koji sam ja naišao je windows installer.
Pošto to nije proradilo odmah, prešao sam na sledeću siguricu iliti zicer: instalacija uz pomoć pip-a. Ovo je delovalo kao pobednička kombinacija sve dok nisam provalio da ne radi migracija:
Error: No module named psycopg2.extensions django postgresql
Pip je fantastičan alat za instalaciju drajvera, ukoliko imaš instalirane sve ostale biblioteke od kojih drajver zavisi. Ovo sam otkrio tek kad sam pokrenuo instalaciju kao administrator. Pošto ja nemam, vratio sam se na korak 1.
Problem je bio u tome što windows installer nije mogao da pronađe python instalaciju u registry-ju. Zašto? Zato što windows installer pokušava da nađe x86/x64 ako instaliraš x86/x64 drajver.
Rešenje
Prosto kad znaš. Na x64 mašinu obavezno instaliraj x64 python (u mom slučaju 2.7.8 x86-64) i obavezno instaliraj x64 psycopg2 (u mom slučaju za python 2.7). Onda se ide kao podmazano i dodatne zajebancije.
Коментари
Постави коментар