我尝试为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?
答案 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包时会更难。