"не могу найти -lpq" при попытке установить psycopg2 - PullRequest
0 голосов
/ 24 сентября 2008

Intro : я пытаюсь перенести наш Trac SQLite на бэкэнд PostgreSQL, для этого мне нужен psycopg2. После того, как я щелкнул мимо смущающей напыщенной речи на www.initd.org, я скачал последнюю версию и попытался запустить setup.py install. Это не сработало, сказав мне, что мне нужно mingw. Поэтому я скачал и установил mingw.

Проблема : теперь я получаю следующую ошибку при запуске setup.py build_ext --compiler=mingw32 install:

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

То, что я пробовал - я заметил косую черту в опции -L, поэтому я вручную ввел свой каталог lib в PostgreSQL в опции library_dirs в setup.cfg, но безрезультатно (вызов затем была опция -L с обратными слешами, но сообщение об ошибке осталось прежним).

Ответы [ 2 ]

2 голосов
/ 24 сентября 2008

Вы пробовали двоичную сборку psycopg2 для Windows? Если это работает с вашим питоном, то это уменьшает необходимость сборки вручную.

Я видел случайных людей, которые задают этот вопрос в разных списках, и, похоже, одна из рекомендаций - это создать postgresql вручную, чтобы обойти эту проблему.

1 голос
/ 24 сентября 2008

Компилирование расширений в Windows может быть сложным. Однако доступны предварительно скомпилированные библиотеки: http://www.stickpeople.com/projects/python/win-psycopg/

...