如何在Python上使用“pip”来安装psycopg2?
我正在使用virtualenv
,我需要安装“psycopg2”。
我做了以下几件事:
pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
我有以下信息:
Downloading/unpacking http://pypi.python.org/packages/source/p/psycopg2/psycopg2 -2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160 Downloading psycopg2-2.4.tar.gz (607Kb): 607Kb downloaded Running setup.py egg_info for package from http://pypi.python.org/packages/sou rce/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160 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'. ---------------------------------------- Command python setup.py egg_info failed with error code 1 Storing complete log in C:\Documents and Settings\anlopes\Application Data\pip\p ip.log
我的问题,我只需要做到这一点,让psycopg2工作?
python setup.py build_ext --pg-config /path/to/pg_config build ...
我发现这个postsearch这个问题的Linux解决scheme。
这个由“goshawk”发布给我的解决scheme:如果你在Ubuntu / Debian上运行sudo apt-get install libpq-dev python-dev
。
更新
由于更多的人发现这个答案有用,并发布了自己的解决scheme,下面是他们的列表:
于Debian / Ubuntu
Python 2
sudo apt install libpq-dev python-dev
Python 3
sudo apt install libpq-dev python3-dev
额外
如果以上都不能解决您的问题,请尝试
sudo apt install build-essential
要么
sudo apt install postgresql-server-dev-all
在CentOS上,你需要postgres开发包:
sudo yum install python-devel postgresql-devel
这至less是CentOS 6上的解决scheme。
使用Postgres.app版本9.3.2.0 RC2的Mac Mavericks安装Postgres后,我需要使用以下代码:
sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin pip install psycopg2
如果你在Mac上,你可以使用自制软件
brew install postgresql
所有其他选项在这里: http : //www.postgresql.org/download/macosx/
祝你好运
我最近在Windows机器上configuration了psycopg2。 最简单的安装是使用Windows可执行二进制文件。 你可以在http://stickpeople.com/projects/python/win-psycopg/find它。;
要在虚拟环境中安装本机二进制文件,请使用easy_install:
C:\virtualenv\Scripts\> activate.bat (virtualenv) C:\virtualenv\Scripts\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe
对于Python 3,您应该在Debian下使用sudo apt-get install libpq-dev python3-dev
。
这是对我有用(在RHEL上,CentOS:
sudo yum install postgresql postgresql-devel python-devel
现在包括你的postgresql二进制目录的path与你pip安装:
sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2
确保包含正确的path。 就这样 :)
更新:对于python 3,请安装python3-devel
而不是python-devel
如果你使用Mac OS,你应该从源代码安装PostgreSQL。 安装完成后,您需要使用以下命令添加此path:
export PATH=/local/pgsql/bin:$PATH
或者你可以像这样追加path:
export PATH=.../:usr/local/pgsql/bin
在.profile
文件或.zshrc
文件中。
这可能因操作系统而异。
您可以从http://www.thegeekstuff.com/2009/04/linux-postgresql-install-and-configure-from-source/下载安装过程;
到目前为止的答案太像魔术食谱。 您收到的错误告诉您,pip找不到PostgreSQL查询库的必需部分。 可能这是因为你已经将它安装在你的操作系统的非标准位置,这就是为什么消息build议使用–pg-config选项。
但更常见的原因是你根本没有安装libpq。 这通常发生在你没有安装PostgreSQL服务器的机器上,因为你只想运行客户端应用程序,而不是服务器本身。 每个操作系统/发行版都不同,例如在Debian / Ubuntu上,您需要安装libpq-dev。 这允许您编译和链接PostgreSQL查询库中的代码。
大部分的答案还build议安装一个Python开发库。 小心。 如果您只使用发行版安装的默认Python,那么这将起作用,但是如果您有更新的版本,则可能会导致问题。 如果你已经在这台机器上构build了Python,那么你已经有了编译C / C ++库来与Python接口所需的开发库。 只要你使用正确的点子版本,一个安装在相同的bin文件夹作为python二进制文件,那么你都设置。 无需安装旧版本。
在Debian/Ubuntu
:
首先安装并构buildpsycopg2
包的依赖关系:
# apt-get build-dep python-psycopg2
然后在你的虚拟环境中,编译并安装psycopg2
模块:
(env)$ pip install psycopg2
我已经在你安装到你的基本python安装的窗口之前做了这个。
然后,您手动将已安装的psycopg2复制到virtualenv安装中。
这不是很漂亮,但它的工作原理。
除了安装所需的软件包之外,我还需要手动将PostgreSQL bin目录添加到PATH。
$vi ~/.bash_profile
在export PATH
之前添加PATH=/usr/pgsql-9.2/bin:$PATH
export PATH
。
$source ~/.bash_profile
$pip install psycopg2
在Windows XP中,如果postgres没有安装,你会得到这个错误…
我在PG的下载网站上使用RedHat / CentOS存储库安装了Postgresql92。http ://www.postgresql.org/download/linux/redhat/
要获得pg_config,我必须将/usr/pgsql-9.2/bin添加到PATH。
在Fedora 24上:对于Python 3.x
sudo dnf install postgresql-devel python3-devel sudo dnf install redhat-rpm-config
激活您的虚拟环境:
pip install psycopg2
我一直在为此奋斗了几天,终于想出了如何让“pip install psycopg2”命令在Windows的virtualenv(运行Cygwin)中运行。
我碰到了“找不到pg_config可执行文件”。 错误,但我已经在Windows下载并安装了postgres。 它也安装在Cygwin中; 在Cygwin中运行“pg_config”给了“/ usr / bin / pg_config”,运行“pg_config”给出了合理的输出 – 然而Cygwin安装的版本是:
VERSION = PostgreSQL 8.2.11
这不适用于当前版本的psycopg2,它似乎至less需要9.1。 当我在Windowspath中添加“c:\ Program Files \ PostgreSQL \ 9.2 \ bin”时,Cygwin pip安装程序能够find正确版本的PostgreSQL,并且能够使用pip成功安装模块。 (这可能比使用PostgreSQL的Cygwin版本更可取,因为本地版本运行得更快)。
对于低端的Windows用户而言,不得不从下面的链接中安装psycopg2,只需将其安装到您安装的任何Python安装中。 它会把名为“psycopg2”的文件夹放到python安装的site-packages文件夹中。
之后,只需将该文件夹复制到virtualenv的site-packages目录中即可,不会有任何问题。
这里是链接你可以find安装psycopg2的可执行文件
在OpenSUSE 13.2上,这固定了它:
sudo zypper in postgresql-devel
我可以将它安装在Windows机器上,并通过以下命令使用带有python 2.7的Anaconda / Spyder:
!pip install psycopg2
然后build立到数据库的连接:
import psycopg2 conn = psycopg2.connect(dbname='dbname',host='host_name',port='port_number', user='user_name', password='password')
在Arch基础版本中:
sudo pacman -S python-psycopg2 pip2 install psycopg2 # Use pip or pip3 to python3
Psycopg2取决于Postgres图书馆。 在Ubuntu上你可以使用:
apt-get install libpq-dev
然后:
pip install psycopg2
在Ubuntu上,我只需要postgres开发包:
sudo apt-get install postgresql-server-dev-all
*在virtualenvtesting
在OSX 10.11.6(El Capitan)
brew install postgresql PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2
在带有macports的OSX上:
sudo port install postgresql96 export PATH=/opt/local/lib/postgresql96/bin:$PATH
在Gentoo
试试这个:
emerge dev-libs/libpqxx