"لا يمكن العثور على -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 lib الخاص بي يدويًا في خيار Library_dirs في setup.cfg، ولكن دون جدوى (كان الاستدعاء بعد ذلك يحتوي على خيار -L مع خطوط مائلة عكسية، ولكن بقيت رسالة الخطأ نفس الشيء).

هل كانت مفيدة؟

المحلول

هل حاولت بناء ثنائي من psycopg2 للنوافذ؟إذا نجح ذلك مع لغة بايثون الخاصة بك، فإنه يخفف من الحاجة إلى البناء يدويًا.

لقد رأيت أشخاصًا عشوائيين يطرحون هذا السؤال في قوائم مختلفة ويبدو أن إحدى التوصيات هي إنشاء postgresql يدويًا للتغلب على هذه المشكلة.

نصائح أخرى

قد يكون تجميع الملحقات على النوافذ أمرًا صعبًا.ومع ذلك، هناك مكتبات مترجمة مسبقًا متاحة: http://www.stickpeople.com/projects/python/win-psycopg/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top