Mac + virtualenv + pip + postgresql = 오류: pg_config 실행 파일을 찾을 수 없습니다.
를 설치하려고 pip
오류 발생:
pip install psycopg
약간의 오류가 발생합니다.
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
내 가상 환경에서?어떻게 구성합니까?시스템 전체에 postgres를 설치하고 싶지 않기 때문에 virtualenv를 사용하고 있습니다.
Mac에서 Postgres.app을 사용하는 경우 pg_config 파일은/Applications/Postgres.app/Contents/Versions/<current_version>/bin
디렉토리입니다. 추가해야
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/<current_version>/bin
예를 들어 현재 Postgres.app 버전이 9.5인 경우 이 내보내기 행은 다음과 같습니다.
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.5/bin
Postgres.app의 최신 버전(> 9.5?)에서는 다음과 같이 버전 번호 대신 "최신"을 간단히 추가할 수 있습니다.
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
Mac을 설치하는 입니다.postgresql
:
brew install postgresql
은 Cent를 설치하는 입니다.OS에서 솔루션은 다음을 설치하는 것입니다.postgresql-devel
:
sudo yum install postgresql-devel
pg_config
안에 있습니다.postgresql-devel
저는 대부분의 게시된 답변이 가상 환경을 사용하는 OP의 정확한 요구를 가정할 때 완전히 주제에서 벗어난다는 존 하이의 의견에 전적으로 동의합니다.
virtualenv를 활성화하는 동안 프롬프트에서 다음 명령을 실행하는 것이 나의 대답이었습니다.
export PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH"
(파트 9.4는 버전을 의미하며 달라질 수 있음)
또는 설치된 최신 버전의 Postgres를 사용하려는 경우:
export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
다음과 같은 경우:
pip install psycopg2
Postgres를 설치했다고 가정합니다.그렇지 않은 경우에는 Postgres.app을 사용하는 것이 가장 좋습니다.
가상 환경의 $PATH 변수!= 글로벌 $PATH 변수를 잊지 마십시오.가상 환경과 새 셸에서 'echo $PATH'를 사용하여 이를 확인할 수 있습니다.따라서 Postgre를 설치하지 않는 한SQL은 가상 환경 내에서 고유한 인스턴스로서(imo, 할 가치가 없는 작업), 글로벌 설치 경로를 포함하도록 가상 환경 내에서 $PATH 변수를 수정해야 합니다(pg_config 오류를 해결할 수 있습니다).
다음은 단계입니다.
1.) 새 셸에 'which pg_config'를 입력합니다.그러면 경로가 반환됩니다.알았다, 알았다구요.제 경우 경로는 다음과 같습니다. /Applications/Postgres.app/Contents/Versions/9.3/bin
2.) virtualenv 쉘로 돌아가서 'export PATH=/your-path-to-pg_config:$를 입력합니다.경로'
3.) 그러면 여전히 가상 환경 내에서 'pip install psycopg2'가 됩니다.
모든 것이 계획대로 진행된다면, 이것은 가상 환경 내에 싸이코그2를 설치할 것이지만, 설치는 글로벌 포스트그를 참조할 것입니다.SQL 설치.저의 경우, 이 Global 설치는 Postgres를 통해 설치되었습니다.앱, 따라서 경로입니다.정의된 가상 환경 내에서만 데이터베이스를 쉽게 사용할 수 있는 것이 아니라 어떤 가상 환경에서도 쉽게 데이터베이스를 사용할 수 있기 때문에 싸이코그2로 작업하는 이 방법을 선호합니다.
이것이 이곳에 도착하는 모든 사람에게 도움이 되기를 바랍니다.Google Juice의 경우 이 문제가 발생할 때 명시적인(그리고 모호한) 오류 언어가 반환됩니다.
py 이 오류 1과했습니다. 코드 1: setup.py egg_info 파일은 1입니다.
Mac(OSX 10.9)에서 이 문제를 해결할 수 있었던 방법은 다음과 같습니다.
brew update
brew install --force ossp-uuid
brew install postgresql
pip install psycopg
시도할 때 CLANG 오류가 발생했습니다.pip install psycopg
(LLVM 5.1 문제). 그래서 대신 다음 명령을 사용하여 싸이코그를 설치해야 했습니다.
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install psycopg
민규의 솔루션과 비슷하지만 공유할 가치가 있다고 생각했을 만큼 차이가 충분히 있습니다.
postgresql 경로를 구성해야 합니다.
export PATH=$PATH:/Library/PostgreSQL/11/bin
다음 요구 사항을 설치해야 합니다.
pip3 install -r requirements
위해서OS X El Capitan (10.11.6)
+brew
+virtualenv
+PostgreSQL 9.5
:
설치 후PostgreSQL 9.5
:
brew install postgresql@9.5
그런 다음 터미널을 열고 다음을 실행합니다.
export PATH=$PATH:/usr/local/opt/postgresql\@9.5/bin/
pip install psycopg2
이 오류는 빌드 도구가 Postgresql 라이브러리를 찾을 수 없을 때 발생합니다.
pg_config 바이너리를 찾는 방법을 psycopg2에 지시해야 하는 경우가 종종 있습니다.
셸 경로에 pg_config 경로를 추가합니다(/usr/local/pgsql/bin/).
또는 psycopg2 소스 폴더에서 setup.cfg 파일을 편집하고 pg_config=로 시작하는 줄에서 pg_config의 전체 경로를 제공합니다.
pg_config=/usr/local/pgsql/bin/pg_config
- 은 위예입다니, 은할수있다니습당을 할 수 .
locate pg_config
위치를 확인하거나 단순히 입력합니다.which pg_config
그리고 그것은 당신에게 길을 알려줄 것입니다.
시스템에 postgresql이 설치되어 있지 않아 오류가 발생하는 경우는 적습니다.만약 그렇다면, postgres를 다운로드하여 빌드하거나 OS X용으로 사전 구축된 psycopg2 바이너리를 다운로드합니다.
virtualenvis는 python 패키지용입니다.가상 환경 내에 게시물을 저장할 수 없을 것 같습니다.오류 메시지가 표시되는 것은 아직 포스트그레스를 설치하지 않았기 때문일 수 있습니다.psycopg2 설치 스크립트가 postgres 파일(이 경우 pg_config)을 찾고 있지만 설치되지 않았기 때문에 찾을 수 없습니다.pip 또는 virtualenv를 사용하여 postgres를 설치할 수 없습니다.
Windows에서는 http://www.enterprisedb.com/products-services-training/pgdownload#windows 에서 수동으로 postgres를 설치했습니다.그 후에는 동일한 명령이 작동합니다.
Postgres.app의 설명서에 따르면 @bkev 및 @andi에서 제공하는 답변 외에도 Mac의 bash_profile에 다음을 추가해야 합니다.
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
하드 코딩된 버전 번호는 없습니다.위의 답변에 이것을 댓글로 추가하고 싶었지만, 저는 이것을 위한 충분한 레퍼토리가 없습니다.
postgresql 9.4를 사용하는 경우 파일은
/usr/pgsql-9.4/bin/pg_config
패키지의 이름은
postgresql94-9.4.9-1PGDG.rhel6.x86_64
PATH에 pg_config를 추가하려면 다음을 수행합니다.
PATH=$PATH:/usr/pgsql-9.4/bin/
사용할 필요가 없는 경우psycopg
특히 드라이버, 로 전환pg8000
운전 기사그것은 순수한 파이썬이고 덜 까다롭습니다.
Ubuntu에서 나는 단지 postgres dev 패키지가 필요했습니다.
sudo apt-get install postgresql-server-dev-all
내 위치는 /Library/PostgreSQL/9.4/bin입니다.
export PATH=$PATH:/Library/PostgreSQL/9.4/bin
pip install psycopg2-binary
이진 설치는 가상 환경에서 작동하며 가상 환경에서 작동하는 데 필요한 lib 파일이 있습니다.
$PATH postgres에 추가했지만 비슷한 문제가 있었습니다.Docker 파일을 변경하고 bin/sh를 통해 설치한 후 설치가 통과되었습니다.Python Alpine 버전과의 링크일 수도 마찬가지입니다.설치하는 동안 Alpine 버전에 문제가 없었습니다.
# syntax=docker/dockerfile:1
FROM python:3.11-rc-alpine
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /code
COPY requirements.txt /code/
RUN #pip install --upgrade pip
RUN /bin/sh -c pip install -r requirements.txt
RUN #pip install -r requirements.txt
COPY . /code/
내 문제는 에서 해결했습니다.MAC
그리고.virtualenv
먼저 설치하여postgresql
그런 다음 PATH에 추가합니다.
brew install postgresql@15
echo 'export PATH="/opt/homebrew/opt/postgresql@15/bin:$PATH"' >> ~/.zshrc
export LDFLAGS="-L/opt/homebrew/opt/postgresql@15/lib"
export CPPFLAGS="-I/opt/homebrew/opt/postgresql@15/include"
언급URL : https://stackoverflow.com/questions/20170895/mac-virtualenv-pip-postgresql-error-pg-config-executable-not-found
'programing' 카테고리의 다른 글
다른 NoSQL 데이터베이스와 관련하여 DynamoDB의 장단점은 무엇입니까? (0) | 2023.05.17 |
---|---|
명령줄을 사용하여 지정된 경로에서 node_modules 폴더를 재귀적으로 삭제합니다. (0) | 2023.05.17 |
npm 설치와 npm 실행 빌드의 차이점은 무엇입니까? (0) | 2023.05.17 |
Postgre가 무슨 뜻입니까?SQL 프로세스가 "거래 중 유휴" 상태입니까? (0) | 2023.05.17 |
왜 무작위로.셔플 리턴 없음? (0) | 2023.05.17 |