如果还安装了2.7,如何为python2.6安装psycopg2?

时间:2014-06-18 19:57:16

标签: python pip psycopg2

我尝试为python2.6安装psycopg2,但我的系统也安装了2.7。

我做了

>sudo -E pip install psycopg2
Downloading/unpacking psycopg2
  Downloading psycopg2-2.5.3.tar.gz (690kB): 690kB downloaded
  Running setup.py (path:/private/var/folders/yw/qn50zv_151bfq2vxhc60l8s5vkymm3/T/pip_build_root/psycopg2/setup.py) egg_info for package psycopg2

Installing collected packages: psycopg2
  Running setup.py install for psycopg2
    building 'psycopg2._psycopg' extension
    cc -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -Qunused-arguments -Qunused-arguments -arch x86_64 -arch i386 -pipe -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.5.3 (dt dec pq3 ext)" -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -DPG_VERSION_HEX=0x09010B -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I. -I/usr/local/Cellar/postgresql91/9.1.11/include -I/usr/local/Cellar/postgresql91/9.1.11/include/server -c psycopg/psycopgmodule.c -o build/temp.macosx-10.9-intel-2.7/psycopg/psycopgmodule.o
...

您可以看到pip在安装过程中将psycopg2与python2.7相关联。这个pip安装完成后报告了成功结果,但是当我运行2.6脚本导入psycopg2之后,它无法找到它:

    import psycopg2
ImportError: No module named psycopg2

如果还安装了2.7,如何为python2.6安装psycopg2?

2 个答案:

答案 0 :(得分:0)

根据this answer,我安装了pip2.6。然后我使用psycopg2命令安装了pip2.6,而不是像之前那样pip:

sudo -E pip2.6 install psycopg2

然后一切正常

答案 1 :(得分:0)

使用python virtualenvs。

Virtualenv是一个用于python和一堆包的盒子。因此,通过混合你正在做的python和系统包而不是makins你的系统一团糟。

$ virtualenv my_env26 -p python2.6
$ . my_env26/bin/activate
$ pip install whatever_i_want

$ virtualenv my_env27 -p python2.7
$ . my_env27/bin/activate
$ pip install another_packages

通过这种方式,您可以拥有包含每个项目/每个python版本的包的python环境,或者以您想要的任何方式进行分组。利润是你可以随时删除这个文件夹。混合系统和python包时会更难。

More about virtualenvs