„Nicht finden kann, -lpq“ bei dem Versuch, psycopg2 zu installieren
-
02-07-2019 - |
Frage
Intro : Ich versuche, unsere Trac SQLite zu einem PostgreSQL-Server zu migrieren, zu tun, dass ich psycopg2 brauchen. Nach einem Klick über die peinliche rant auf www.initd.org heruntergeladen ich die neueste Version und versucht setup.py install
läuft. Dies funktionierte nicht, mich zu sagen, ich brauche mingw. Also habe ich heruntergeladen und installiert mingw.
Problem : ich jetzt die folgende Fehlermeldung erhalten, wenn setup.py build_ext --compiler=mingw32 install
ausgeführt wird:
running build_ext
building 'psycopg2._psycopg' extension
writing build\temp.win32-2.4\Release\psycopg\_psycopg.def
C:\mingw\bin\gcc.exe -mno-cygwin -shared -s build\temp.win32-2.4\Release\psycopg
\psycopgmodule.o build\temp.win32-2.4\Release\psycopg\pqpath.o build\temp.win32-
2.4\Release\psycopg\typecast.o build\temp.win32-2.4\Release\psycopg\microprotoco
ls.o build\temp.win32-2.4\Release\psycopg\microprotocols_proto.o build\temp.win3
2-2.4\Release\psycopg\connection_type.o build\temp.win32-2.4\Release\psycopg\con
nection_int.o build\temp.win32-2.4\Release\psycopg\cursor_type.o build\temp.win3
2-2.4\Release\psycopg\cursor_int.o build\temp.win32-2.4\Release\psycopg\lobject_
type.o build\temp.win32-2.4\Release\psycopg\lobject_int.o build\temp.win32-2.4\R
elease\psycopg\adapter_qstring.o build\temp.win32-2.4\Release\psycopg\adapter_pb
oolean.o build\temp.win32-2.4\Release\psycopg\adapter_binary.o build\temp.win32-
2.4\Release\psycopg\adapter_asis.o build\temp.win32-2.4\Release\psycopg\adapter_
list.o build\temp.win32-2.4\Release\psycopg\adapter_datetime.o build\temp.win32-
2.4\Release\psycopg\_psycopg.def -LC:\Python24\libs -LC:\Python24\PCBuild -Lc:/P
ROGRA~1/POSTGR~1/8.3/lib -lpython24 -lmsvcr71 -lpq -lmsvcr71 -lws2_32 -ladvapi32
-o build\lib.win32-2.4\psycopg2\_psycopg.pyd
C:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot fin
d -lpq
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
Was ich versucht habe, - Ich habe bemerkt, die Schrägstriche in der Option -L, so dass ich manuell eingegeben mein PostgreSQL lib in der library_dirs Option im setup.cfg, ohne Erfolg (die rufen Sie hatte dann eine Option -L mit umgekehrten Schrägstrichen, aber die Fehlermeldung gleich geblieben).
Lösung
Haben Sie versucht, die binären Build von psycopg2 für Windows? Wenn das mit Ihrem Python funktioniert dann mildert es die Notwendigkeit von Hand zu bauen.
Ich habe gesehen, wahllos Leute stellen diese Frage auf verschiedene Listen und es scheint eine Empfehlung postgresql von Hand zu bauen ist, um dieses Problem zu arbeiten.
Andere Tipps
Erweiterungen auf Windows kompilieren kann schwierig sein. Es gibt vorkompilierte Bibliotheken jedoch: http://www.stickpeople.com/projects/ python / win-psycopg /