“не удается найти -lpq” при попытке установить psycopg2

StackOverflow https://stackoverflow.com/questions/126364

  •  02-07-2019
  •  | 
  •  

Вопрос

Вступление:Я пытаюсь перенести наш 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, поэтому я вручную ввел свой каталог библиотеки PostgreSQL в опцию library_dirs в setup.cfg, но безрезультатно (затем у вызова была опция -L с обратной косой чертой, но сообщение об ошибке осталось прежним).

Это было полезно?

Решение

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top