psycopg2를 ML (기본 Python 2.7 (2.7.2))에서 작동 시키려고합니다. homebrew를 통해 postgresql을 설치하고 pip와 함께 psycopg2를 설치했습니다. Postgres는 즐겁게 작동하며 PGAdmin3은 제가 만든 db를 볼 수 있습니다. 내가Mountain Lion에 psycopg2 설치 (brew + pip)
import psycopg2
을 파이썬을 실행하려고 할 때
는하지만 얻을 :
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/psycopg2/__init__.py", line 67, in <module>
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: dlopen(/Library/Python/2.7/site-packages/psycopg2/_psycopg.so, 2): Symbol not found: _PQbackendPID
Referenced from: /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
Expected in: flat namespace
in /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
이제 sudo pip install psycopg2
의 출력이 정확히 깨끗하지 않습니다. 그 소리는 경고의 무리를 제공하지만, 오류없이 :
경고 : 컴파일하는 동안 사용되지 않은 인수 : '-mno가 융합 - 매드'
경고 : 사용되지 않는 기능 'Dprintf' 경고 : 암시 적 변환이 정수 정밀도를 잃는다 : 'long'to 'int' 경고 : 부호없는 표현 <의 비교는 항상 거짓입니다.
ld : 경고 : 파일 무시 /usr/local/Cellar/postgresql/9.1.4/lib/libpq.dylib 파일은 지원되지 않는 파일 형식 (0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0) (i386) :/usr/local/Cellar /postgresql/9.1.4/lib/libpq.dylib
그 마지막 링커 경고는 나에게 걱정이된다. 그리고 그 오래된 32-vs-64 비트 파이썬 문제인지 다시 궁금해하고있다. 나는 옛날을 시도했다 :
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
하지만 주사위는 없다.
내 생각은 postgresql을 x86_64로 컴파일하거나 brew에서 python을 설치하는 것입니다. 첫 번째 선택을 원합니다. PATH에있는 Apple의 Python에 의존하는 다른 소프트웨어 (한숨)가 있기 때문입니다.
어떤 아이디어가 brew를 사용하여 64 비트로 postgresql을 컴파일하게 만드나요?
고정 64 비트입니다. 아키텍쳐 이름 대신 16 진수를 출력하는 이유는 ....'libpq' 아키텍처는'file /usr/local/Cellar/postgresql/9.1.4/lib/libpq '로 확인할 수 있습니다. .dylib'. – Dougal
@Dougal'/usr/local/Cellar/postgresql/9.1.4/lib/libpq.5.4.dylib : Mach-O 64 비트 동적 링크 공유 라이브러리 x86_64'가 나타납니다. – Cathy
@Dougal Ah! 'defaults write'를'no'로 바꾸면 문제가 해결됩니다. 감사! 나는 모두 바꿔 치기했다. – Cathy