오류 : psycopg2.extensions라는 모듈이 없습니다.


86

내 장고 프로젝트에 대한 PostgreSQL 데이터베이스를 설정하려고하는데, 장고 프로젝트에 대한 postgreSQL 데이터베이스를 설정하는 문제에 대한 마지막 질문에 대한 답변 덕분에 지금 작업했다고 생각 합니다. 이제 터미널에서 'python manage.py runserver'명령을 실행하여 localhost를 얻으려고하지만 명령을 실행하면이 응답이 표시됩니다.

Error: No module named psycopg2.extensions

이것이 무엇을 의미하는지 잘 모르겠습니다. psycopg2를 다운로드하려고했지만 homebrew를 사용하여 psycopg2를 다운로드하는 방법을 찾지 못하는 것 같습니다. easy_install, pip install 및 sudo를 시도했지만 모두 이와 같은 오류를 반환합니다.

Downloading http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.5.tar.gz
Processing psycopg2-2.4.5.tar.gz
Writing /tmp/easy_install-l7Qi62/psycopg2-2.4.5/setup.cfg
Running psycopg2-2.4.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-l7Qi62/psycopg2-2.4.5/egg-dist-tmp-PBP5Ds
no previously-included directories found matching 'doc/src/_build'
unable to execute gcc-4.0: No such file or directory
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1

이 문제를 해결하는 방법?


컴파일러가 설치되어 있지 않으며 psycopg2 패키지를 빌드하려면 컴파일러가 필요합니다. 운영 체제에 대한 세부 정보를 제공 할 수 있다면 여기에있는 사람들이 도움을 줄 수 있습니다.
Ian Clelland

@IanClelland 감사합니다 Ian. 저는 Mac OS X 10.6.8을 사용하고 있습니다. 도움이된다면 homebrew를 설치했습니다.
제스

오른쪽 venv에서 인터프리터를 사용하고 있는지 확인하십시오.
Alex78191

답변:


167

가장 먼저 할 일은 의존성을 설치하는 것입니다.

sudo apt-get build-dep python-psycopg2

그 후 virtualenv에 들어가서

pip install psycopg2-binary

이 두 명령은 문제를 해결해야합니다.


7
나는 다시 핍보다 다른 사람의 훨씬 더 좋은 :-) 아무것도 사용하지 않을 것이라는 점을 말해야한다
해리

11
Python 3의 경우sudo apt-get build-dep python3-psycopg2
laike9m 2014

7
apt로 종속성을 구축 한 다음 pip로 설치하는 이유는 무엇입니까? 단일 명령의 문제점은 무엇입니까 sudo apt-get install python-psycopg2? 그것은 나를 위해 잘 작동했습니다.
kdbanman

2
가지고 You must put some 'source' URIs in your sources.list위의 명령 중 하나를 triyng 동안
혁명의 모니카에 대한

2
@ nba2020 : sudo apt-get ...? psycopg2-binary에 대한 Linux (debian / mint / ubuntu) 전제 조건입니다. Windows 또는 이와 같은 것을 사용하는 경우 대신 psycopg2-binary에 대한 Windows 필수 조건을 찾아서 psycopg2-binary를 설치하기 전에 적용해야합니다. 또는 (확실하지 않음) 전제 조건을 건너 뛰고 psycopg2-binary 대신 psycopg2를 설치하면 작동 할 수 있습니다. 그러나 psycopg2 (-binary 없음)는 더 이상 사용되지 않으므로 psycopg2-binary를 올바르게 설치하면 더 좋습니다.
mirek

26
pip install psycopg2-binary

psycopg2 휠 패키지는 릴리스 2.8에서 이름이 변경됩니다. 바이너리에서 계속 설치하려면 "pip install psycopg2-binary"를 대신 사용하십시오. 자세한 내용은 http://initd.org/psycopg/docs/install.html#binary-install-from-pypi 를 참조하십시오 .


이것은 우분투 18.04와 파이썬 3에서 저에게 효과적입니다. 감사합니다.
Danniel Little

이것은 나를 위해 작동하고 또한 루트 권한이 필요하지 않습니다
Gianpaolo

도움이되어 기쁩니다. ^ _ ^
찰리木匠

1
이것은 나를 충분히 도와주지 않습니다. 역사의 어딘가에 psycopg2 이상 (출처 : -r requirements.txt)을 올바르게 psycopg2-binary 설치했습니다. 모든 것이 "잘"작동했습니다. 하지만 psycopg2 (-binary없이)를 제거하면 "No module named psycopg2.extensions"오류가 발생했습니다. psycopg2-binary를 제거 / 설치해도 도움이되지 않습니다. 나를 위해 prererequisities가 설치되지 않았습니다 (@FernandoMunoz 답변 : apt install build-dep python-psycopg2 참조). 이러한 데비안 패키지와 나중에 (!) psycopg2-binary를 설치하는 것이 도움이되었습니다.
mirek

@mirek 보완 해 주셔서 감사합니다.
Charlie 木匠


5

다음 명령을 사용하여 성공적으로 설치했습니다.

sudo apt-get install libpq-dev python-dev
pip install psycopg2

5

들어 macOS Mojave단지 실행 pip install psycopg2-binary. 나를 위해 잘 작동, 파이썬 버전->Python 3.7.2


4

처음 설치 apt-get install python-setuptools

다음 시도 easy_install psycopg2


4

이것이 Ubuntu 설치 프로그램에서 Python을 설치 한 경우 Ubuntu에서 나를 도왔습니다. 나는 'apt-get install'과 'pip install'을 실패한 후에 이것을했습니다.

터미널에서 :

sudo synaptic

그런 다음 시냅스 검색 필드에서

psycopg2

고르다

python-psycopg2

마우스 오른쪽 클릭을 사용하여 설치를 위해 표시하고 '적용'을 누릅니다. 물론 시냅틱을 설치하지 않았다면 먼저 다음을 수행하십시오.

sudo apt-get install synaptic

2

Python 3.4에서는 가상 환경에있는 동안 먼저 빌드 종속성이 있는지 확인하십시오.

sudo apt-get build-dep python3-psycopg2

그런 다음 설치하십시오.

pip install psycopg2 

E: You must put some 'source' URIs in your sources.list
Cerin

2

Alpine Linux (대부분의 Docker 컨테이너)에서 다음을 수행합니다.

apk add postgresql-dev

그때:

pip install psycopg2-binary

1

psycopg2를 가져온 후에 확장을 사용했습니다.

import psycopg2

...

psycopg2.extensions.AsIs(anap[i])

@fp 답장을 보내 주셔서 감사합니다. psycopg2를 어떻게 가져 왔나요? 홈브류를 사용 하셨나요? 터미널에서 'import psycopg2'명령을 실행하려고했지만 'ImportError : No module named psycopg2'를 반환합니다.
Jess

컴파일하지 않고 설치할 준비가 된 우분투를 사용하고 있습니다. 표시된 예제는 파이썬입니다. Windows에 설치하려면 stickpeople.com/projects/python/win-psycopg를 보십시오. 원하는 것은 먼저 설치하는 것입니다.
fp

@fp 감사합니다. 나는 Mac을 사용하고 있습니다. Mac에 대한 유사한 솔루션이 있습니까?
제스

@fb 감사합니다. 나는 그것을 시도 할 것이다 :)
Jess

1

필요한 것 같으며 gcc-4.0OS 유형과 버전을 지정하는 것이 도움이 될 것입니다.

아마도이 질문이 도움이 될 것입니다. Xcode를 설치하지 않고 Mac OS X Leopard에 GCC 설치하기

최신 정보

저는 Windows 사용자이므로 설정을 테스트 할 수는 없지만 빠른 Google이 몇 가지 링크를 더 가리 켰습니다.


감사합니다. 내 OS가 10.6.8이므로 GCC 10.6을 다운로드하여 설치했습니다. 그런 다음 easy_install psycopg2를 실행했지만이 오류가 반환되었습니다 ... " 'doc / src / _build'와 일치하는 이전에 포함 된 디렉토리를 찾을 수 없음 : gcc-4.0을 실행할 수 없음 : 해당 파일 또는 디렉토리 오류 없음 : Setup script exited with error : command ' gcc-4.0 '이 종료 상태 1로 실패했습니다. 그 이유를 알고 있습니까?
Jess

1

Mavericks (10.9)를 실행하는 Mac에서 실행 No module named psycopg2.extensions하려고 할 때 오류 가 발생했습니다 pip2 install psycopg2. 스택 추적에 gcc에 대한 메시지가 포함되어 있지 않고 힌트도 포함되어 있다고 생각하지 않습니다.

Error: pg_config executable not found.

Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:

    python setup.py build_ext --pg-config /path/to/pg_config build ...

or with the pg_config option in 'setup.cfg'.

내가 찾았 pg_config에서 파일 내 포스트 그레스 설치하고 내 길에 들어있는 폴더를 추가 : /Applications/Postgres.app/Contents/Versions/9.4/bin. 경로가 다를 수 있습니다. 특히 다른 버전의 Postgres가 설치되어있는 경우 bin/폴더 를 찾을 때까지 훑어 보겠습니다 . 이렇게하면 설치가 완료되었습니다.


1

이것을 시도하십시오 :
sudo pip install -i https://testpypi.python.org/pypi psycopg2 == 2.7b2
.. 이것은 계란 오류가 발생하는 경우 특히 유용합니다

gcc 오류가 발생한 경우 aws ec2 인스턴스에서 이것을 시도하십시오
1. sudo yum install gcc python-setuptools python-devel postgresql-devel
2. sudo su-
3. sudo pip install psycopg2


1

이것은 나를 위해 일했습니다.

python manage.py 마이그레이션


1

python 스크립트를 sudo로 실행하려고 할 때 그런 문제가 있었지만 psycopg2는 pip3를 통해 내 사용자 디렉토리에 설치되었습니다.

pip3 버전을 제거하고 apt를 통해 설치하기 만하면 문제를 해결했습니다.

pip3 uninstall psycopg2
sudo apt install python3-psycopg2


0

그렇지 않은 경우 psycopg2를 설치했는지 확인하십시오.

sudo apt-get install psycopg2

종속성을 설치하십시오.

sudo apt-get build-dep python-psycopg2

이 두 명령은 문제를 해결해야합니다.


0
pip3 install django-psycopg2-extension

나는 내가 늦었다는 것을 알고 있으며 여기에도 문제를 해결하는 많은 답변이 있습니다. 그러나 오늘 나는 또한이 문제에 직면했으며 이것 중 어느 것도 나를 돕지 않습니다. 그런 다음 내 문제를 해결하는 위의 마법 명령을 찾았습니다 :-P. 그래서 나는 당신에게도 해당 될 수 있으므로 이것을 게시하고 있습니다.
즐거운 코딩입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.