How to find pg_config path
在这里完成新手,试图设置Django与ProstgreSQL一起工作。
我正在使用mac osx 10.6.8。 我还安装了PostgreSQL 9.3
当我在终端中运行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | Downloading/unpacking psycopg2 Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded Running setup.py (path:/private/var/folders/A9/A99cs6x0FNusPejCVkYNTE+++TI/-Tmp-/pip_build_bengorman/psycopg2/setup.py) egg_info for package 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'. Complete output from command python setup.py egg_info: running egg_info creating pip-egg-info/psycopg2.egg-info writing pip-egg-info/psycopg2.egg-info/PKG-INFO writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt' warning: manifest_maker: standard file '-c' not found 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'. |
我已经看过很多帖子
如何安装的-psycopg2-与点子上,Python
PG-配置可执行未找到
但我不知道如何找到包含pg_config的bin文件夹位置。 找到这条路的任何提示?
我建议你尝试使用Postgres.app。 (http://postgresapp.com)
这样您就可以在Mac上轻松打开和关闭Postgres。
完成后,通过附加以下内容将Postgres的路径添加到
1 | PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" |
只有在将Postgres添加到路径后,才能尝试在虚拟环境(使用pip)或全局站点包中安装
1 | sudo find / -name"pg_config" -print |
我的配置答案是/Library/PostgreSQL/9.1/bin/pg_config(MAC Maverick)
Postgres.app最近更新了。现在它将所有二进制文件存储在"Versions"文件夹中
1 | PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH" |
其中9.4 -version的PostgreSQL。
安装自制软件
1 | /usr/bin/ruby -e"$(curl -fsSL https://raw.github.com/gist/323731)" |
然后安装postgresql
1 | brew install postgresql |
给了我这个可爱的输出:
1 | checking for pg_config... yes |
啊啊,是的
在MacOS X 10.11上安装当前的PostgreSQL应用程序后,这就是pg_config文件
然后在终端上:
1 2 | $ export PG_HOME=/Library/PostgreSQL/9.5 $ export PATH=$PATH:$PG_HOME/bin |
这会将路径放在您正在使用的终端的.profile中。
在您的环境中(假设您使用的是
1 | $ pip install psycopg2 |
您应该看看之前是否已经下载过:
1 2 3 4 5 | Collecting psycopg2 Using cached psycopg2-2.6.1.tar.gz Installing collected packages: psycopg2 Running setup.py install for psycopg2 ... done Successfully installed psycopg2-2.6.1 |
总结一下 - PostgreSQL根据版本号和安装方法在不同位置安装其文件(包括其二进制文件或可执行文件)。
一些可能性:
1 2 3 4 | /usr/local/bin/ /Library/PostgreSQL/9.2/bin/ /Applications/Postgres93.app/Contents/MacOS/bin/ /Applications/Postgres.app/Contents/Versions/9.3/bin/ |
难怪人们感到困惑!
此外,如果您的$ PATH环境变量包含指向包含可执行文件的目录的路径(要确认这一点,请在命令行上使用
我有完全相同的错误,但我通过brew安装postgreSQL并重新运行原始命令,它完美地工作:
brew install postgresql
您可以使用其名称找到
1 2 3 | $ pg_config --bindir /usr/lib/postgresql/9.1/bin $ |
在Mac和Debian上测试过。唯一的问题是我无法看到如何在同一台机器上安装不同版本的postgres找到bindir。虽然这很容易猜到! :-)
注意:我在Debian上将我的pg_config更新为9.5:
1 | sudo apt-get install postgresql-server-dev-9.5 |
我用了 :
1 2 3 | export PATH=$PATH:/Library/PostgreSQL/9.6/bin pip install psycopg2 |
检查/Library/PostgreSQL/9.3/bin,你应该找到pg_config
I.E.
ps:如果您认为有必要满足您的需求,您可以执行以下操作 -
在你的?目录中创建一个.profile
1 2 | export PG_HOME=/Library/PostgreSQL/9.3 export PATH=$PATH:$PG_HOME/bin |
您现在可以使用来自终端的
这是如何简单地获取
1 2 | $ which pg_config // prints the directory location /usr/bin/pg_config |
在Mac上有相同的问题,你可能需要
brew install postgresql
然后你就可以跑了
pip install psycopg2
brew将为您解决PATH问题
这个解决方案至少对我有用。