在Mac上将python模块安装到非默认版本的python

时间:2011-06-02 20:54:18

标签: python module

我的Mac上安装了几个不同版本的Python。默认版本是2.5,因此当我安装模块时,它安装到2.5。我需要能够将一些模块安装到不同版本的Python,因为我正在处理使用不同版本的项目。谁知道怎么做到这一点?谢谢你的帮助。

3 个答案:

答案 0 :(得分:5)

如果您使用setup.py进行安装,只需通过相应版本的Python运行它,例如:

python2.6 setup.py install

如果你正在使用easy_install,那么应该有一个名为easy_install-N.N的相应Python版本的版本,例如

easy_install-2.6 some_module

如果您正在处理需要不同版本Python的不同项目,请考虑使用virtualenv(和virtualenvwrapper) - 它允许您启动并使用多个环境,每个环境都有自己的Python的一个版本和一组库。示例用法如下:

$ python -V
Python 2.5.4
$ mkvirtualenv --python=python2.6 foo
foo $ python -V
Python 2.6.1
foo $ pip install some_mod # installs module in foo's library, rather
                           # than site wide
foo $ deactivate # leave the virtual env
$ python -m some_mod
/path/to/python: No module named some_mod

要稍后返回foo环境,请使用workon

$ workon foo
foo $ python -m some_mod # no error, apns available within the env
foo $ 

因此,您可以使用virtualenv为已安装的每个Python版本维护单独的环境。在这些环境中,pip和easy_install只做正确的事。

答案 1 :(得分:3)

如果您通过setuptools(即python setup.py)进行安装,它将安装到您使用的python可执行文件的lib目录中(除非它是一个损坏的包)。

答案 2 :(得分:2)

如果您使用安装它们,那么您运行(以root身份):

port select --set python <python_version>

提示:要列出可用的版本:

port select --list python

否则,您可以设置$PYTHON_PATH环境变量,并将所需的路径添加到$PATH环境变量中。

您还需要更新python.current中的/Library/Frameworks/Python.framework(或具有相似名称的内容)符号链接。


我强烈建议您使用软件包管理器(等)安装所有版本,以便更容易管理。