我试图安装的Postgres的教程,但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
在我的virtualenv? 如何配置呢? 我使用的virtualenv,因为我不想要的Postgres的全系统的安装。
Answer 1:
在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
Answer 2:
在Mac上,解决的办法是安装postgresql
:
brew install postgresql
在CentOS的解决办法是安装postgresql-devel
:
sudo yum install postgresql-devel
pg_config
是postgresql-devel
包
Answer 3:
我完全同意约翰HIGHT ,大多数发布的答案是完全offtopic假设使用的virtualenv的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
去sucesfully假设你已经安装的Postgres。 如果没有,那么请记住,最好的和recomended解决方案是使用: Postgres.app
Answer 4:
不要忘记,你的$ PATH变量在虚拟环境!=全局$ PATH变量。 你可以在你的virtualenv,并在新的外壳“回声$ PATH”证实了这一点。 所以,除非你想安装PostgreSQL作为唯一的实例您的虚拟环境(不顺心的事情值得做,IMO)里面,你需要给的virtualenv内修改$ PATH变量,包括到全局的安装路径(这将解决您丢失pg_config错误)。
具体操作步骤如下:
1.)在一个新的外壳,类型“这pg_config”。 这将返回的路径。 复制它。 就我而言,路径是这样的:/Applications/Postgres.app/Contents/Versions/9.3/bin
2)回到你的virtualenv壳型“出口PATH = /你的路到pg_config:$ PATH”
3)然后,仍在的virtualenv中,“PIP安装psycopg2”
如果一切按计划进行,这将在虚拟环境中安装psycopg2,但安装将参考您的全球PostgreSQL安装。 在我而言,这个全球安装经Postgres.App,因此该路径安装。 我喜欢用psycopg2工作,因为它意味着我可以在任何的virtualenv中,而不是只在定义虚拟环境中方便地使用数据库的这种方法。
希望这有助于人谁在这里到达。 对于谷歌果汁,这里是当你遇到这个问题返回明确的(而模糊的)错误的语言:
Answer 5:
下面是我如何能够解决在我的Mac(OSX 10.9)这个问题:
brew update
brew install --force ossp-uuid
brew install postgresql
pip install psycopg
我有一个CLANG错误,当我试图pip install psycopg
(一个LLVM 5.1的问题 ),所以我不得不用这个命令,而不是安装psycopg:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install psycopg
它类似于明宇的解决方案,但有足够的差异,我认为这是值得分享。
Answer 6:
此错误是当构建工具无法找到PostgreSQL的库造成的。
通常它必须指示psycopg2如何找到pg_config二进制文件,您可以:
添加路径在shell路径pg_config(在/ usr /本地/ pgsql的/ bin中/)
或编辑psycopg2源文件夹中的文件setup.cfg和提供的完整路径pg_config上与pg_config =开头的行
pg_config =在/ usr /本地/ pgsql的/ bin中/ pg_config
- 上面是一个例子,你可以做
locate pg_config
找出它驻留,或直接键入which pg_config
,它应该告诉你的路径。
通常较少的错误来自没有安装在系统上的PostgreSQL。 如果是这样,下载和构建Postgres的,或下载OS X的预建psycopg2二进制
Answer 7:
对于OS X El Captain (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
Answer 8:
在Windows上我手动安装的Postgres从http://www.enterprisedb.com/products-services-training/pgdownload#windows 。 在此之后,同样的命令工作。
Answer 9:
的virtualenv是Python包。 我不认为你将能够容纳的virtualenv内的Postgres。 您看到的错误消息可能是因为你还没有安装的Postgres。 该psycopg2安装脚本正在寻找Postgres的文件(在这种情况下pg_config),并没有找到他们,因为没有安装。 Postgres的不能使用PIP安装或virtualenv中。
Answer 10:
除了通过@bkev和@andi提供的答案,根据文档上Postgres.app,你应该添加下列到Mac上您的.bash_profile:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
需要注意的是,没有硬编码的版本号。 我想补充这是上面的答案评论,但我没有足够的代表这一点。
Answer 11:
如果你正在使用PostgreSQL 9.4,该文件位于
/usr/pgsql-9.4/bin/pg_config
包的名称是
postgresql94-9.4.9-1PGDG.rhel6.x86_64
添加pg_config到PATH,请执行以下操作
PATH=$PATH:/usr/pgsql-9.4/bin/
Answer 12:
在Ubuntu上我只需要Postgres的开发包:
sudo apt-get install postgresql-server-dev-all
Answer 13:
该矿位于/Library/PostgreSQL/9.4/bin
export PATH=$PATH:/Library/PostgreSQL/9.4/bin
Answer 14:
如果你没有使用psycopg
专门的驱动程序,切换到pg8000
驱动程序。 它是纯Python,少挑剔。
文章来源: Mac + virtualenv + pip + postgresql = Error: pg_config executable not found