在Mac上将python模块安装到非默认版本的python
问题内容:
我的Mac上安装了几个不同版本的Python。默认版本是2.5,因此当我安装模块时,它将安装到2.5。我需要能够将某些模块安装到不同版本的Python,因为我正在处理使用不同版本的项目。有人知道如何做到这一点吗?谢谢你的帮助。
问题答案:
如果您使用setup.py安装,则只需通过相应版本的Python运行它,例如:
python2.6 setup.py install
如果您使用的是easy_install,则对应的Python版本应有一个名为easy_install-NN的版本,例如
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只是做正确的事情。