让easy_install与新版Python兼容
我的 CentOS5
系统默认安装的是 Python 2.4
。现在我已经安装了 Python 2.6
,并且想要使用 easy_install
来安装一些东西。
我为 Python 2.6
安装了 setuptools 的 egg 文件。现在 py26
在 username.sitename.com
上,而 Python 2.4
是全局安装的,所以当我运行
easy_install mysqldb
时,出现了权限被拒绝的错误,因为它试图修改 2.4
的安装。
我该如何在我的子域名中让 Python 2.6
正常工作呢?
3 个回答
0
听起来这个情况很适合用到 virtualenv,它可以帮助你轻松管理和切换多个Python环境,并且让它们相互隔离。你可以使用 --python
这个选项来指定你想要的Python版本的路径,比如:
$ virtualenv --python /path/to/python2.6 env_name
...
$ source env_name/bin/activate
(env_name)$ which python
/path/to/env_name/bin/easy_install
(env_name)$ which easy_install
/path/to/env_name/bin/easy_install
(env_name)$ deactivate
$ which python
/path/to/system/python
1
你还可以强制Python解释器运行easy_install。
python2.6 /usr/bin/easy_install foobar
你也可以尝试通过升级easy_install的版本来让系统出问题(旧版本的easy_install,也就是setuptools,常常有很多bug)。
python2.6 /usr/bin/easy_install -U setuptools
请注意,每个easy_install为不同的Python解释器提供不同的数据。
2
其实,easy_install
这个工具可以让你指定要使用的 Python 版本,方法是这样的:
easy_install-N.N
所以在这种情况下,我只需要输入 easy_install-2.6
就可以了。
我应该在发帖之前仔细查一下的!