Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Mac上将python模块安装到python的非默认版本_Python_Module_Macports_Homebrew_Fink - Fatal编程技术网

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

在Mac上将python模块安装到python的非默认版本,python,module,macports,homebrew,fink,Python,Module,Macports,Homebrew,Fink,我在Mac上安装了两个不同版本的Python。默认版本是2.5,所以当我安装模块时,它会安装到2.5。我需要能够将一些模块安装到不同版本的Python上,因为我正在处理使用不同版本的项目。有人知道如何做到这一点吗?感谢您的帮助。如果您已使用安装它们,请运行(以root用户身份): 否则,您可以设置$PYTHON\u PATH环境变量,并将所需路径添加到$PATH环境变量中 您还需要更新/Library/Frameworks/python.framework中的python.current(或类

我在Mac上安装了两个不同版本的Python。默认版本是2.5,所以当我安装模块时,它会安装到2.5。我需要能够将一些模块安装到不同版本的Python上,因为我正在处理使用不同版本的项目。有人知道如何做到这一点吗?感谢您的帮助。

如果您已使用安装它们,请运行(以root用户身份):


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

您还需要更新
/Library/Frameworks/python.framework
中的
python.current
(或类似名称的东西)符号链接



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

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

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

python2.6 setup.py install
如果您使用的是easy_install,那么对应的Python版本应该有一个名为easy_install-N.N的版本,例如

easy_install-2.6 some_module

如果您正在处理需要不同版本的Python的不同项目,请考虑使用(和)-它允许您启动并使用多个环境,每个环境都有自己的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做了正确的事情。

对于一个类似的问题,关于使用
easy_install安装模块
当使用macports ara安装不同版本的python时,请查看如何准确获得所需的easy_install版本?我准备的东西都不容易,也没有给我指出什么有用的东西。好吧,显然包名是
setuptools
not
easy\u install
port install python\u select
似乎进展顺利,但没有
python\u select
binary…
python\u select
被弃用。Do
sudo端口选择——改为设置python(例如python26)
$ 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
$ workon foo
foo $ python -m some_mod # no error, apns available within the env
foo $