Mam problem z instalacją psycopg2. Podczas próby pip install psycopg2
: pojawia się następujący błąd :
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'.
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build/psycopg2
Ale problem tkwi pg_config
w moim PATH
; działa bez problemu:
$ which pg_config
/usr/pgsql-9.1/bin/pg_config
Próbowałem dodać ścieżkę pg_config do setup.cfg
pliku i zbudować ją przy użyciu plików źródłowych pobranych z ich strony internetowej ( http://initd.org/psycopg/ ) i otrzymuję następujący komunikat o błędzie!
Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
Ale tak naprawdę jest TAM !!!
Niepokoją mnie te błędy. Czy ktoś może pomóc?
Nawiasem mówiąc, mam sudo
wszystkie polecenia. Też jestem na RHEL 5.5.
sudo
,$PATH
ulega zmianie. Czy możesz dokładnie sprawdzić swoją $ PATH jako root?ln -s /usr/pgsql-9.1/bin/pg_config /usr/sbin/pg_config
i wszystko jest w porządku!Odpowiedzi:
pg_config
jest wpostgresql-devel
(libpq-dev
w Debian / Ubuntu,libpq-devel
na Centos / Cygwin / Babun.)źródło
libpq-dev
na ubuntu lucid (10.04). Z góry dziękuję.pg_config
Postgress.app znajduje się w/Applications/Postgres.app/Contents/Versions/<your version>/bin
(Mac OS X)libpqxx-devel
na fedorze.sudo apt-get install libpq-dev
pracował dla mnie na UbuntuW systemie Mac OS X rozwiązałem go za pomocą menedżera pakietów homebrew
źródło
brew
polecenie działało.brew link postgresql
homebrew
.Czy zainstalowałeś
python-dev
? Jeśli już masz, spróbuj także zainstalowaćlibpq-dev
Z artykułu: Jak zainstalować psycopg2 w virtualenv
źródło
Python.h: No such file or directory
apt-get install -y gcc
Również w OSX. Zainstalowałem Postgress.app z http://postgresapp.com/, ale miał ten sam problem.
Znalazłem
pg_config
w zawartości tej aplikacji i dodałem katalog do$PATH
.To było o godz
/Applications/Postgres.app/Contents/Versions/latest/bin
. Tak to działa:export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
.źródło
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" pip install psycopg2
W alpine biblioteka zawierająca
pg_config
topostgresql-dev
. Aby zainstalować, uruchom:źródło
Oto, co działało dla mnie na CentOS, pierwsza instalacja:
Na Ubuntu wystarczy użyć ekwiwalentnych pakietów apt-get.
A teraz dołącz ścieżkę do binarnego katalogu postgresql przy instalacji pipem, powinno to działać w systemie Linux opartym na Debain lub RHEL:
Upewnij się, że podałeś prawidłową ścieżkę. To wszystko :)
źródło
sudo apt-get install postgresql postgresql-dev python-dev
i działało dla mnie.gcc
jest zainstalowany i python3-devel.źródło
Powinieneś dodać wymagania Pythona używane w Postgres na Ubuntu. Biegać:
źródło
Podsumowując, napotkałem dokładnie ten sam problem. Po przeczytaniu dużej liczby postów i blogów internetowych, ostateczne rozwiązanie, które zadziałało dla mnie, to:
1) PostgreSQL (programista lub dowolna stabilna wersja) powinien zostać zainstalowany przed instalacją psycopg2.
2) Plik pg_config (ten plik zwykle znajduje się w folderze bin folderu instalacyjnego PostgreSQL) PATH musiał zostać jawnie skonfigurowany przed zainstalowaniem psycopg2. W moim przypadku PATH instalacji dla PostgreSQL to:
więc aby jawnie ustawić PATH pliku pg_config, wprowadziłem następujące polecenie w moim terminalu:
To polecenie zapewnia, że podczas próby instalacji programu psycopg2 w trybie pip, PATH automatycznie znajdzie tym razem ścieżkę do pg_config.
Na moim blogu opublikowałem również pełny błąd dotyczący śledzenia i jego rozwiązania, do którego możesz polecić. Działa w systemie Mac OS X, ale problem PATH pg_config jest ogólny i dotyczy także Linuksa.
źródło
PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH"
sudo apt-get install libpq-dev
działa dla mnie na Ubuntu 15.4źródło
W Linuksie Mint
sudo apt-get install libpq-dev
działał dla mnie.źródło
Możesz zainstalować wstępnie skompilowane pliki binarne na dowolnej platformie z
pip
lubconda
:lub
Informujemy, że strona psycopg2-binary pypi zaleca budowanie ze źródła podczas produkcji:
Aby użyć pakietu zbudowanego ze źródeł, użyj
python -m pip install psycopg2
. Ten proces będzie wymagał kilku zależności ( dokumentacji ) (moje wyróżnienie):źródło
apt install libpq-dev
AKTUALIZACJA /etc/yum.repos.d/CentOS-Base.repo, [baza] i [aktualizacje] sekcje
DODAJ wyklucz = postgresql *
źródło
Dla osób z systemem OS X to rozwiązanie działało dla mnie:
1) Zainstaluj Postgres.app:
http://www.postgresql.org/download/macosx/
2) Następnie otwórz terminal i uruchom tę komendę, zastępując tam, gdzie jest napisane {{wersja}} numerem wersji Postgres:
eksport PATH = $ PATH: /Applications/Postgres.app/Contents/Versions / {{version}} / bin
na przykład
export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions/9.4/bin
źródło
sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config
Spróbuj dodać go do ŚCIEŻKI:
źródło
-bash: cd: /usr/pgsql-x.x/bin/: No such file or directory
/usr/pgsql-x.x/bin/
to prawda?pg_
pliki. W przypadku postgres.app ta ścieżka w systemie Mac OS X to/Applications/Postgres.app/Contents/Versions/9.3/bin
.PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Zaktualizuj swoją wersję *, jeśli nowa wersja została wydana!PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/
Rozwiązanie Ali działało dla mnie, ale miałem problem ze znalezieniem lokalizacji folderu bin. Szybkim sposobem na znalezienie ścieżki w systemie Mac OS X jest otwarcie psql (na górnym pasku menu znajduje się szybki link). Otworzy się osobne okno terminala, aw drugim wierszu ścieżka instalacji Postgres będzie wyglądać tak:
Twój plik pg_config znajduje się w tym folderze bin. Dlatego przed instalacją psycopg2 ustaw ścieżkę do pliku pg_config:
lub dla nowszej wersji:
Następnie zainstaluj psycopg2.
źródło
/Applications/Postgres.app/Contents/Versions/9.3/bin
find /usr/local -name 'pg_config'
Musisz zaktualizować swój pip przed instalacją psycopg2. Użyj tego polecenia
źródło
Zostawię to tutaj następnej niefortunnej duszy, która nie będzie w stanie obejść tego problemu pomimo wszystkich dostarczonych rozwiązań. Po prostu użyj
sudo pip3 install psycopg2-binary
źródło
brew install postgresql
to naprawiłem.pip install psycopg2-binary
: pip -> python2, pip3 -> python3. Ale dopóki działało, było to jedno z wielu rozwiązań!Właśnie rozwiązałem problem w Cent OS 7 przez:
upewnij się, że twoja wersja PostgreSql jest zgodna z odpowiednią wersją powyżej.
źródło
W systemie Mac OS X i jeśli korzystasz z aplikacji Postgres ( http://postgresapp.com/ ):
W tym poleceniu nie ma potrzeby określania wersji Postgres. Zawsze będzie wskazywany na najnowszy.
i robić
PS: Jeśli zmiany nie odzwierciedlają, może być konieczne ponowne uruchomienie wiersza polecenia / polecenia
Źródło
źródło
Instalowanie python-psycopg2 rozwiązało to dla mnie w Arch Linux:
źródło
W systemie Windows może być konieczne zainstalowanie portu Psycopg w systemie Windows , co jest zalecane w dokumentacji psycopg .
źródło
W systemie MacOS najprostszym rozwiązaniem będzie dowiązanie symboliczne poprawnego pliku binarnego, czyli pakietu Postgres.
Jest to dość nieszkodliwe, a wszystkie aplikacje będą mogły w razie potrzeby korzystać z niego w całym systemie.
źródło
sudo mniam zainstaluj postgresql-devel (centos6X)
pip install psycopg2 == 2.5.2
źródło
Tutaj, dla kompletności OS X: jeśli zainstalujesz PostgreSQL z MacPorts, pg_config będzie w
/opt/local/lib/postgresql94/bin/pg_config
.Po zainstalowaniu MacPorts, został już dodany
/opt/local/bin
do ŚCIEŻKI.To rozwiąże problem:
$ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config
Teraz
pip install psycopg2
będzie można uruchomićpg_config
bez problemów.źródło
Dla użytkowników MacOS Catalina korzystających z
zsh
powłoki, którzy również zainstalowali aplikację postgres :Otwórz
~/.zshrc
plik i dodaj następujący wiersz:Następnie zamknij wszystkie terminale, otwórz je ponownie, a rozwiążesz problem.
Jeśli nie chcesz zamykać terminali, po prostu wpisz
source ~/.zshrc
dowolny terminal, nad którym chcesz kontynuować pracę.źródło
zsh
shell!W przypadku użytkowników komputerów Mac rozszerz zmienną ścieżki, aby zawierała PostgreSQL w ten sposób
export PATH=$PATH:/Library/PostgreSQL/12/bin
.źródło
W ten sposób udało mi się zainstalować psycopg2
źródło
Jestem prawie pewien, że doświadczyłeś tego samego „problemu”, co ja, dlatego zaoferuję ci niezwykle łatwe rozwiązanie ...
W twoim przypadku rzeczywista ścieżka, którą musisz dodać do $ PATH (lub jako parametr polecenia) to:
nie
Na przykład, jeśli później uruchomisz skrypt setup.py python, uruchomisz go w następujący sposób:
Prawdopodobnie za późno, ale wciąż najłatwiejsze rozwiązanie.
PÓŹNA EDYCJA:
Podczas dalszych testów dowiedziałem się, że jeśli początkowo dodasz ścieżkę do pg_config w formularzu
(bez / pg_config po ..... / bin) i uruchom polecenie pip install, to zadziała.
Jeśli jednak zdecydujesz się postępować zgodnie ze wskazówkami, aby uruchomić plik setup.py w Pythonie, będziesz musiał określić ścieżkę za pomocą / pg_config po ..... / bin, tj.
źródło
/usr/pgsql-9.6/bin/pg_config
(lub jakkolwiek to się nazywa w twoim systemie)/usr/bin/pg_config
- w ten sposób jest ono dostępne w PATH, którą już masz.dla CentOS / RedHat upewnij się, że
/etc/alternatives/pgsql-pg_config
jest to nieprzerwane dowiązanie symboliczneźródło