在这里完成新手,尝试设置Django以使用ProstgreSQL。
我正在使用mac osx 10.6.8。我还安装了PostgreSQL 9.3
当我在终端中运行pip install psycopg2
时,我收到以下错误
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'.
我在这上看过很多帖子
how-to-install-psycopg2-with-pip-on-python
pg-config-executable-not-found
但我不知道如何找到包含pg_config的bin文件夹位置。有关找到这条道路的任何提示吗?
答案 0 :(得分:88)
我建议您尝试使用Postgres.app。 (http://postgresapp.com)
这样您就可以在Mac上轻松打开和关闭Postgres。
完成后,通过附加以下内容将Postgres的路径添加到.profile
文件中:
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
只有在将Postgres添加到路径后,您才可以尝试在虚拟环境(使用pip)或全局站点包中安装psycopg2
。
答案 1 :(得分:28)
sudo find / -name "pg_config" -print
我的配置(MAC Maverick)答案是/Library/PostgreSQL/9.1/bin/pg_config
答案 2 :(得分:26)
Postgres.app最近更新了。现在它将所有二进制文件存储在“Versions”文件夹
中PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH"
其中9.4 - PostgreSQL的版本。
答案 3 :(得分:16)
安装homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
然后安装postgresql
brew install postgresql
给了我这个可爱的输出:
checking for pg_config... yes
啊啊啊啊啊啊啊
答案 4 :(得分:11)
在MacOS X 10.11上安装当前的PostgreSQL应用程序后,这就是pg_config文件为if (scanner.hasNextFloat()) {
System.out.println("float");
float myValue = scanner.nextFloat();
// do something with the float myValue
}else if (scanner.hasNextInt()) {
System.out.println("int")
int myValue = scanner.nextInt();
// do something with the int myValue
} else { // fallback on string
String myValue = scanner.next();
// do something with the string myValue
}
的位置。
然后在终端上:
/Library/PostgreSQL/9.5/bin/pg_config
这会将路径放在您正在使用的终端的.profile中。
在您的环境中(假设您使用的是 $ export PG_HOME=/Library/PostgreSQL/9.5
$ export PATH=$PATH:$PG_HOME/bin
),然后安装psycopg2:
virtualenv
您应该先看看是否已经下载过它:
$ pip install psycopg2
答案 5 :(得分:7)
总结一下 - PostgreSQL根据版本号和安装方法在不同位置安装其文件(包括其二进制文件或可执行文件)。
一些可能性:
/usr/local/bin/
/Library/PostgreSQL/9.2/bin/
/Applications/Postgres93.app/Contents/MacOS/bin/
/Applications/Postgres.app/Contents/Versions/9.3/bin/
难怪人们感到困惑!
此外,如果您的$ PATH环境变量包含指向包含可执行文件的目录的路径(要确认此信息,请在命令行上使用echo $PATH
),然后您可以运行which pg_config
,{{ 1}}等找出where the file is located。
答案 6 :(得分:5)
我有完全相同的错误,但是我通过brew安装了postgreSQL并重新运行了原始命令并且它运行良好:
brew install postgresql
答案 7 :(得分:2)
您可以使用其名称找到pg_config
目录:
$ pg_config --bindir
/usr/lib/postgresql/9.1/bin
$
在Mac和Debian上测试过。唯一的缺点是,我无法看到如何在同一台机器上安装不同版本的postgres找到bindir。虽然这很容易猜到! : - )
注意:我在Debian上将我的pg_config更新为9.5:
sudo apt-get install postgresql-server-dev-9.5
答案 8 :(得分:1)
检查/Library/PostgreSQL/9.3/bin你应该找到pg_config
即。 /Library/PostgreSQL/<version_num>/
ps:如果您认为有必要满足您的需求,您可以执行以下操作 -
在〜目录中创建一个.profile
export PG_HOME=/Library/PostgreSQL/9.3
export PATH=$PATH:$PG_HOME/bin
您现在可以使用来自终端的psql
或postgres
命令,并安装psycopg2或任何其他依赖项而不会出现问题,此外,当您想偷看时,您可以随时ls $PG_HOME/bin
pg_dir。
答案 9 :(得分:1)
我用过:
export PATH=$PATH:/Library/PostgreSQL/9.6/bin
pip install psycopg2
答案 10 :(得分:0)
在Mac上遇到同样的问题,你可能需要
brew install postgresql
然后你可以运行
pip install psycopg2
brew将为您解决PATH问题
这个解决方案至少对我有用。
答案 11 :(得分:0)
pg_config
路径的方法$ which pg_config // prints the directory location
/usr/bin/pg_config
答案 12 :(得分:0)
通过安装以下第一个pip软件包为我工作:libpq-dev
和postgresql-common
答案 13 :(得分:0)
在我的情况下 (MacOS) pg_config 的路径
/Library/PostgreSQL/13/bin
在终端中执行以下操作:
PATH="/Library/PostgreSQL/13/bin:$PATH"
然后
pip install psycopg2