2013-01-16 3 views
0

오픈 BSD, PostgreSQL9.2, python2.7 파이썬 명령 행에서 psycopg2 모듈을 가져올 시도 :ImportError를 : 지정된 객체를로드 할 수 없습니다 - psycopg2

Python 2.7.3 (default, Aug 3 2012, 05:33:56) 
[GCC 4.2.1 20070719 ] on openbsd5 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import psycopg2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 67, in <module> 
    from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID 
ImportError: Cannot load specified object 

psycopg2 컴파일 및 설치됩니다. 나는/site-packages/psycopg2 폴더에서 _psycopg.so를 보았습니다. 아마이 도서관을 볼 수 없을거야?

+0

psycopg2에서 가져올 수 있습니까? 이진수, 숫자, 문자열, 날짜순, 로이드입니까? ROWID 란 무엇입니까? –

+0

@MikedeKlerk :'psycopg2' 라이브러리의 일부입니다. 추적의 마지막 줄은 파이썬 모듈로 C 확장을 가져 오려고합니다. 그것이 가져올 수 없다는 사실은이 질문에 대한 * 이유 *입니다. 라이브러리가 손상되었습니다. –

답변

2

psycopg2 파이썬 모듈에는 C로 작성된 확장이 포함되어 있습니다. 의존하는 다른 C 라이브러리가 없기 때문에 해당 확장을로드 할 수 없습니다.

아직 PostgreSQL 클라이언트 라이브러리가 설치되어 있고 psycopg2에서 찾을 수 있는지 확인하십시오.

WSGI 서버에서 Django를 실행하는 경우 환경 변수 을 설정해야 WSGI 서버가 시작됩니다.. 또는 확장자를 LD_RUN_PATH=/usr/local/pgsql/lib으로 다시 컴파일하여 연결시 PostgreSQL 클라이언트 라이브러리의 경로를 '하드 코드'하고 LD_LIBRARY_PATH을 설정하지 않아도됩니다.

마지막 수단은 /usr/local/pgsql/lib 경로를 /etc/ld.so.conf에 추가하는 것입니다 (ld.so(8) manpage 참조).

+0

라이브러리 (LD_LIBRARY_PATH =/usr/local/pgsql/lib)에 대한 포인터였습니다. 파이썬 명령 줄에서 이제 psycopg2를 가져 와서 연결을 설정합니다. 장고는 여전히 같은 오류를 씁니다. –

+0

@ dima.h : 장고를 실행하기 위해 WSGI 서버를 사용하고 있습니까? –

+0

manage.py runserver –

관련 문제