当开发系统上没有安装PostgreSQL时,将psycopg2安装到virtualenv中

当PostgreSQL没有安装在我的开发系统MacBook Pro OS X 10.6上时,是否可以将psycopg2安装到virtualenv

当我在我的virtualenv运行pip install psycopg2 ,收到下面显示的错误。

我试图使用Django连接到服务器上的遗留数据库,如果可能的话,我宁愿不在我的开发系统上安装PostgreSQL。

为什么不安装PostgreSQL?

使用自制程序安装PostgreSQL时收到错误。 我在MacBook Pro上安装了Xcode4,只安装了Xcode4,并认为这与缺lessgcc 4.0有关。 但是,这是另一个StackOverflow问题的问题。

更新2011年4月12日上午8点37分:我仍然想知道如果这是可能的,而不在我的MacBook Pro上安装PostgreSQL。 但是,我运行brew update并强制重新安装ossp-uuid,使用brew install --force ossp-uuid然后使用brew install postgresql工程。 在成功安装PostgreSQL的情况下,我可以在我的virtualenv中pip install psycopg2

pip install psycopg2错误

 $ pip install psycopg2 Downloading/unpacking psycopg2 Running 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 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 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 /Users/matthew/.pip/pip.log 

初步研究

以下是我作为初步研究所阅读的文章:

  • 在OS X上安装psycopg2以在PostgreSQL上使用Django
  • 在OS X上安装psycopg2
  • 在Ubuntu JauntyLucid上使用psycopg2和virtualenv
  • Postgres,psycopg2,virtualenv安装提示

psycopg依赖于pg_config命令,如果你没有,你不能安装psycopg。

如果系统安装对您来说是一个问题,您为什么不尝试编译PostgreSQL并在$ PATH中包含生成的bin文件? 喜欢:

 export PATH=/path/to/compiled/postgresql/bin:"$PATH" pip install psycopg2 
 apt-get install libpq-dev 

帮助我在debian挤压

 apt-get install libpq-dev 

也帮助我在debian挤压。 之后,做点安装psycopg2。 当我在heroku上设置我的环境时,我遇到了pg_config的问题没有find问题,现在工作正常。

您需要安装python-dev软件包才能使用python扩展名,例如psycopg2 。 我不知道如何在Mac中安装软件包,但我运行以下命令在我的Ubuntu机器上安装python软件包。

 sudo apt-get install python-dev 

要么

 sudo apt-get install python3-dev 

如果你正在使用Python3.x。

安装完成后,在虚拟环境中运行以下命令。

 pip install psycopg2 

你不需要安装完整的PostgreSQL:你只需要客户端库。

使用你在4月12日更新中描述的方法,我能够安装PostgreSQL(+1)。 请注意,我原来是运行Python 2.7.1(32位)和自制程序扔了几个关于使用Python的32位版本的错误和警告。 自从我转换了2.7.1的64/32位版本之后,它就像一个冠军。

关于pyscopg2,我可以通过编辑setup.cfg将它安装到我的虚拟环境中。 我设置了pg_config来纠正自制软件库中的path(pg_config = / usr / local / Cellar / postgresql / 9.0.4 / bin / pg_config)。 保存更改之后,我运行python setup.py安装了零问题。 值得注意的是,我没有将Mac的默认python设置设置为32位。 我从头到尾使用了新的64位。

看了一些文档后,我想如果我添加了自制的postgresqlpath到系统path,我可以用pip来安装它。

参考:
http://favosdream.blogspot.com/2009/09/make-psycopg2-and-readline-work-in-snow.html

2011年8月6日更新:
将一个在OS X上编写的项目移植到Windows 7时,我发现我也必须在Windows上安装PostgreSQL。 这最终创build了另一个用户在我的启动屏幕和其他我不喜欢的东西。 在做一些挖掘工作时,我在这里find了PostgreSQL的Windows驱动程序。 我已经卸载完整的PostgreSQL,并安装了ODBC驱动程序,到目前为止,它的工作很好。

为了解决原来的问题,在做了更多的挖掘后,我想我在这里find了与OS X等价的ODBC。 我没有机会尝试一下,但这个概念在Windows 7上运行得非常好。当我有机会尝试它时,我会更新它。 在此之前,我希望这有助于。

我解决了它在MAC OSX使用:

 $ wget https://ftp.postgresql.org/pub/source/v9.5.3/postgresql-9.5.3.tar.bz2 $ tar xfv postgresql-9.5.3.tar.bz2 $ cd postgresql-9.5.3 $ ./configure $ make $ cd src/bin/pg_config $ export PATH=`pwd`:"$PATH" $ pip install psycopg2 

因为我从来不需要在这台服务器上安装postgresql数据库,所以我在Ubuntu 14_04版本上安装了以下库,然后在同一台服务器上运行pip install psycopg2

apt-get install libpq-dev python-dev,然后在虚拟环境中执行pip install psycopg2。

输出收集psycopg2使用cachingpsycopg2-2.6.1.tar.gz构build收集包的轮子:psycopg2运行setup.py bdist_wheel for psycopg2存储在目录中:/root/.cache/pip/wheels/e2/9a/5e/7b620848bbc7cfb9084aafea077be11618c2b5067bd532f329成功buildpsycopg2安装收集的软件包:psycopg2安装成功psycopg2-2.6.1