我在安装psycopg2时遇到了麻烦。当我尝试pip安装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
但问题是pg_config实际上在我的PATH中;它运行起来没有任何问题:
$ which pg_config
/usr/pgsql-9.1/bin/pg_config
我尝试将pg_config路径添加到setup.cfg文件中,并使用我从他们的网站(http://initd.org/psycopg/)下载的源文件构建它,我得到了以下错误消息!
Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
但它确实在那里!!
我对这些错误感到困惑。有人能帮忙吗?
顺便说一下,我sudo所有的命令。而且我使用的是RHEL 5.5。
如果你最近更新了python或更改了默认的python(比如从3.6到3.8)。下面的代码
sudo apt-get install python-dev OR sudo apt-get install python3-dev
将安装/工作于以前的python版本。
因此,如果您希望此命令适用于最近更新/更改的python版本,请尝试在以下命令中提到特定版本,如python3.8
sudo apt-get install python3.8-dev
尝试以下内容
pip install wheel
export PATH=/path/to/compiled/postgresql/bin:"$PATH"
sudo apt-get install libpq-dev
sudo apt-get install python3.x-dev **Change x with your version, eg python3.8**
pip install psycopg2-binary
pip install psycopg2
对于那些运行OS X的人来说,这个解决方案对我来说是有效的:
1)安装postgresql .app:
http://www.postgresql.org/download/macosx/
2)然后打开终端并运行这个命令,将上面的{{version}}替换为Postgres的版本号:
导出路径= $路径:/应用程序/ Postgres.app /内容/版本/ {{version}} / bin
e.g.
导出路径= $路径:/应用程序/ Postgres.app /内容/版本/ 9.4 / bin
综上所述,我也遇到了同样的问题。在阅读了大量stackoverflow的帖子和在线博客后,最终对我有效的解决方案是:
1)在安装psycopg2之前,应该先安装PostgreSQL(开发版或任何稳定版)。
2) pg_config文件(该文件通常位于PostgreSQL安装文件夹的bin文件夹中)PATH必须在安装psycopg2之前显式设置。在我的例子中,PostgreSQL的安装路径是:
/opt/local/lib/postgresql91/
所以为了显式地设置pg_config文件的PATH,我在我的终端输入了以下命令:
PATH=$PATH:/opt/local/lib/postgresql91/bin/
该命令确保当您尝试pip安装psycopg2时,它这次将自动找到pg_config的PATH。
我还在我的博客上发布了一个完整的错误跟踪和解决方案,你可能想要参考。它适用于Mac OS X,但pg_config PATH问题是通用的,也适用于Linux。