我在mac os x snow leopard上安装geoDjango时遇到了很多问题。
尘埃落定之后,我意识到python(2.6)的系统安装是在psycopg2的recieivng结束时
Python 2.7位于系统路径上。当我在终端中调用python时,python 2.7就是被启动的那个。
但是如果我做了一个easy_install,或者安装了psycopg2的mac端口,它就不会安装到Libraries / framework.python / verisons / 2.7 / lib或bin(我在内存中工作)。但是我确实在python 2.6的系统安装中找到了一个副本
如何使用mac port和easy_install来定位python 2.7并忽略系统python?
答案 0 :(得分:1)
解决此问题的最佳方法是使用virtualenv
。创建虚拟环境时,可以选择(-p
)指定所需的Python可执行文件。一旦你进入virtualenv,你根本不用担心它,所有常规命令(包括pip
)将引用正确的Python可执行文件,站点包,库等。
E.g。如果你想为MacPort的Python 2.7创建一个virtualenv,你可以这样做:
$ virtualenv -p /opt/local/bin/python2.7 myvirtualenv
答案 1 :(得分:0)
如果你使用macports,那么你应该在系统目录之前的路径上有/ opt / local / bin,然后你可以使用port select python python27
来选择macports pyton 2.7。在这种情况下,端口选择更改/ opt / local / bin中的符号链接指向安装的macports 2.7,即使在这种情况下你也需要调用easy_install-2.7而不仅仅是easy_install。您想要的macport我通常通过显式的python版本安装,例如py27-psycopg2,py26-psycopg2 ..我认为py-psycopg2最近已被更改,因此它获取了由portselect python选择的python。
问题是你在路径上找到的easy_install可能是Apple的,easy_install包含了python解释器本身的位置。因此,您需要一个easy_install来匹配您拥有的每个解释器。
macports不提供eaxy_install,但每个版本只提供一个,所以你可以说一个macports python2.7和3.2。
如果您有其他蟒蛇,例如从python.org然后安装setuptools或dustribute,你将得到一个easy_install for the python,它将在/ usr / local / bin中。