Saya kesulitan menginstal psycopg2. Saya mendapatkan kesalahan berikut ketika saya mencoba untuk pip install psycopg2
:
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
Tapi masalahnya ada pg_config
di tangan saya PATH
; ini berjalan tanpa masalah:
$ which pg_config
/usr/pgsql-9.1/bin/pg_config
Saya mencoba menambahkan path pg_config ke setup.cfg
file dan membangunnya menggunakan file sumber yang saya unduh dari situs web mereka ( http://initd.org/psycopg/ ) dan saya mendapatkan pesan kesalahan berikut!
Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
Tapi itu sebenarnya ADA !!!
Saya bingung dengan kesalahan ini. Apakah ada yang bisa membantu?
By the way, saya sudo
semua perintah. Saya juga di RHEL 5.5.
sudo
,$PATH
diubah. Bisakah Anda memeriksa ulang $ PATH Anda sebagai root?ln -s /usr/pgsql-9.1/bin/pg_config /usr/sbin/pg_config
dan semuanya baik-baik saja!Jawaban:
pg_config
ada dipostgresql-devel
(libpq-dev
di Debian / Ubuntu,libpq-devel
di Centos / Cygwin / Babun.)sumber
libpq-dev
di ubuntu jernih (10,04). Terima kasih sebelumnya.pg_config
dari postgress.app berada di/Applications/Postgres.app/Contents/Versions/<your version>/bin
(Mac OS X)libpqxx-devel
di fedora.sudo apt-get install libpq-dev
bekerja untuk saya di UbuntuDi Mac OS X, saya menyelesaikannya menggunakan manajer paket homebrew
sumber
brew
perintah itu berfungsi.brew link postgresql
homebrew
.Sudahkah Anda menginstal
python-dev
? Jika sudah, coba juga installibpq-dev
Dari artikel: Cara menginstal psycopg2 di bawah virtualenv
sumber
Python.h: No such file or directory
apt-get install -y gcc
Juga di OSX. Menginstal Postgress.app dari http://postgresapp.com/ tetapi memiliki masalah yang sama.
Saya menemukan konten
pg_config
aplikasi itu dan menambahkan dir ke$PATH
.Itu di
/Applications/Postgres.app/Contents/Versions/latest/bin
. Jadi ini bekerja:export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
.sumber
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" pip install psycopg2
Pada alpine, perpustakaan yang berisi
pg_config
adalahpostgresql-dev
. Untuk menginstal, jalankan:sumber
Inilah yang bekerja untuk saya di CentOS, instal dulu:
Di Ubuntu cukup gunakan paket apt-get equivilent.
Dan sekarang sertakan path ke dir biner postgresql Anda dengan instal pip, ini akan berfungsi untuk Linux berbasis Debain atau RHEL:
Pastikan untuk memasukkan jalur yang benar. Itu saja :)
sumber
sudo apt-get install postgresql postgresql-dev python-dev
, dan ini berhasil untuk saya.gcc
sudah terinstal dan python3-devel.sumber
Anda harus menambahkan persyaratan python yang digunakan dalam Postgres di Ubuntu. Lari:
sumber
Singkatnya, saya juga menghadapi masalah yang sama persis. Setelah membaca banyak posting stackoverflow dan blog online, solusi terakhir yang bekerja untuk saya adalah ini:
1) PostgreSQL (pengembangan atau versi stabil apa pun) harus diinstal sebelum menginstal psycopg2.
2) File pg_config (file ini biasanya berada di folder bin dari folder instalasi PostgreSQL) PATH harus secara eksplisit diatur sebelum menginstal psycopg2. Dalam kasus saya, PATH instalasi untuk PostgreSQL adalah:
jadi untuk mengatur PATH file pg_config secara eksplisit, saya memasukkan perintah berikut di terminal saya:
Perintah ini memastikan bahwa ketika Anda mencoba memasang install psycopg2, kali ini akan menemukan PATH ke pg_config secara otomatis.
Saya juga telah memposting kesalahan lengkap dengan jejak dan solusinya di blog saya yang mungkin ingin Anda rujuk. Ini untuk Mac OS X tetapi masalah PATH pg_config bersifat generik dan juga berlaku untuk Linux.
sumber
PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH"
sudo apt-get install libpq-dev
bekerja untuk saya di Ubuntu 15.4sumber
Di Linux Mint
sudo apt-get install libpq-dev
bekerja untuk saya.sumber
Anda dapat menginstal binari yang telah dikompilasi sebelumnya pada platform apa pun dengan
pip
atauconda
:atau
Harap diperhatikan bahwa halaman pypi psycopg2-binary merekomendasikan bangunan dari sumber dalam produksi:
Untuk menggunakan paket yang dibangun dari sumber, gunakan
python -m pip install psycopg2
. Proses itu akan memerlukan beberapa dependensi ( dokumentasi ) (penekanan tambang):sumber
apt install libpq-dev
UPDATE /etc/yum.repos.d/CentOS-Base.repo, bagian [basis] dan [pembaruan]
ADD exclude = postgresql *
sumber
Bagi mereka yang menjalankan OS X, solusi ini bekerja untuk saya:
1) Instal Postgres.app:
http://www.postgresql.org/download/macosx/
2) Kemudian buka Terminal dan jalankan perintah ini, ganti di mana dikatakan {{version}} dengan nomor versi Postgres:
export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions / {{version}} / bin
misalnya
export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions/9.4/bin
sumber
sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config
Coba tambahkan ke PATH:
sumber
-bash: cd: /usr/pgsql-x.x/bin/: No such file or directory
/usr/pgsql-x.x/bin/
benar?pg_
file penting tinggal. Untuk postgres.app jalur ini di Mac OS X adalah/Applications/Postgres.app/Contents/Versions/9.3/bin
.PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Perbarui versi Anda * jika versi baru dirilis!PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/
Solusi Ali bekerja untuk saya tetapi saya kesulitan menemukan lokasi folder bin. Cara cepat untuk menemukan jalur di Mac OS X adalah membuka psql (ada tautan cepat di bilah menu atas). Ini akan membuka jendela terminal yang terpisah dan pada baris kedua jalur instalasi Postgres Anda akan muncul seperti ini:
File pg_config Anda ada di folder bin itu. Karena itu, sebelum menginstal psycopg2 setel path file pg_config:
atau untuk versi yang lebih baru:
Kemudian instal psycopg2.
sumber
/Applications/Postgres.app/Contents/Versions/9.3/bin
find /usr/local -name 'pg_config'
Anda perlu memutakhirkan pip Anda sebelum menginstal psycopg2. Gunakan perintah ini
sumber
Saya akan meninggalkan ini di sini untuk jiwa malang berikutnya yang tidak dapat menyelesaikan masalah ini terlepas dari semua solusi yang disediakan. Cukup gunakan
sudo pip3 install psycopg2-binary
sumber
brew install postgresql
memperbaikinya.pip install psycopg2-binary
untuk saya: pip -> python2, pip3 -> python3. Tetapi selama Anda berhasil, itu adalah salah satu dari banyak solusi!Baru saja menyelesaikan masalah di Cent OS 7 dengan:
pastikan versi PostgreSql Anda cocok dengan versi di atas.
sumber
Di Mac OS X dan Jika Anda menggunakan Postgres App ( http://postgresapp.com/ ):
Tidak perlu menentukan versi Postgres dalam perintah ini. Itu akan selalu menunjuk ke yang terbaru.
dan lakukan
PS: Jika Perubahan tidak mencerminkan Anda mungkin perlu me-restart Terminal / Command prompt
Sumber
sumber
Instalasi python-psycopg2 menyelesaikannya untuk saya di Arch Linux:
sumber
Pada Windows, Anda mungkin ingin menginstal port Windows dari Psycopg , yang direkomendasikan dalam dokumentasi psycopg .
sumber
Pada MacOS, solusi paling sederhana adalah symlink biner yang benar, yang berada di bawah paket Postgres.
Ini cukup tidak berbahaya, dan semua aplikasi akan dapat menggunakannya secara luas, jika diperlukan.
sumber
sudo yum instal postgresql-devel (centos6X)
pip instal psycopg2 == 2.5.2
sumber
Di sini, untuk kelengkapan OS X: jika Anda menginstal PostgreSQL dari MacPorts, pg_config akan berada di
/opt/local/lib/postgresql94/bin/pg_config
.Ketika Anda menginstal MacPorts, itu sudah ditambahkan
/opt/local/bin
ke PATH Anda.Jadi, ini akan memperbaiki masalah:
$ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config
Sekarang
pip install psycopg2
akan dapat berjalanpg_config
tanpa masalah.sumber
Untuk mereka yang menggunakan MacOS Catalina menggunakan
zsh
shell yang juga telah menginstal aplikasi postgres :Buka
~/.zshrc
file Anda , dan tambahkan baris berikut:Kemudian tutup semua terminal Anda, buka kembali, dan Anda akan menyelesaikan masalah Anda.
Jika Anda tidak ingin menutup terminal Anda, cukup masukkan
source ~/.zshrc
terminal apa pun yang ingin Anda teruskan bekerja.sumber
zsh
shell!Untuk pengguna mac, perluas variabel path Anda untuk memasukkan PostgreSQL seperti ini
export PATH=$PATH:/Library/PostgreSQL/12/bin
.sumber
Ini adalah bagaimana saya berhasil menginstal psycopg2
sumber
Saya cukup yakin Anda pernah mengalami "masalah" yang sama dengan yang saya lakukan, karena itu saya akan menawarkan solusi yang sangat mudah ...
Dalam kasus Anda, jalur aktual yang perlu Anda tambahkan ke $ PATH (atau sebagai param perintah) adalah:
tidak
Misalnya jika Anda menjalankan skrip setup.py python setelah itu, Anda akan menjalankannya seperti ini:
Mungkin sudah terlambat, tetapi masih merupakan solusi termudah.
EDIT KEMUDIAN:
Di bawah pengujian lebih lanjut saya menemukan bahwa jika Anda awalnya menambahkan path ke pg_config dalam formulir
(tanpa / pg_config setelah ..... / bin) dan jalankan perintah install pip, itu akan berfungsi.
Namun, jika Anda kemudian memutuskan untuk mengikuti indikasi untuk menjalankan python setup.py, Anda harus menentukan path dengan / pg_config setelah ..... / bin, yaitu
sumber
/usr/pgsql-9.6/bin/pg_config
(atau apa pun namanya pada sistem Anda) ke/usr/bin/pg_config
- dengan cara itu tersedia di PATH yang sudah Anda miliki.untuk CentOS / RedHat pastikan itu
/etc/alternatives/pgsql-pg_config
adalah symlink yang tidak rusaksumber