Python Virtualenv:在Ubuntu 10.04上创建Python 2.5环境
当我尝试创建一个使用 Python2.5 的虚拟环境时,出现了以下错误:
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1489, in <module>main()
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 526, in main use_distribute=options.use_distribute)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 609, in create_environment
site_packages=site_packages, clear=clear))
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 672, in install_python fix_lib64(lib_dir)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 891, in fix_lib64
if [p for p in distutils.sysconfig.get_config_vars().values()
File "/usr/lib/python2.5/distutils/sysconfig.py", line 499, in get_config_vars func()
File "/usr/lib/python2.5/distutils/sysconfig.py", line 351, in _init_posix filename = get_makefile_filename()
File "/usr/lib/python2.5/distutils/sysconfig.py", line 210, in get_makefile_filename
return os.path.join(lib_dir, "config" + (sys.pydebug and "_d" or ""), "Makefile")
AttributeError: 'module' object has no attribute 'pydebug'
我通过以下命令得到了这个错误:
virtualenv -p python2.5 .
因为 Ubuntu10.04 默认没有 Python2.5,所以我从这个链接安装了它:
https://launchpad.net/~fkrull/+archive/deadsnakes一开始我以为我也需要为 Python2.5 安装虚拟环境工具,但这似乎也不行。如果我尝试用以下命令创建虚拟环境:
sudo Python2.5 /usr/lib/python2.5/site-packages/virtualenv.py .
我还是会遇到同样的错误。我对 Ubuntu 和 Python 还不太熟悉,还有一些不明白的地方。比如说,如果你有两个版本的 Python,对于 Python2.6,我可以直接用命令创建虚拟环境。但我想要使用 Python2.5 的话,是不是得像上面那个 sudo 命令那样直接调用它呢?
还是说这完全错了,所有的虚拟环境都是一样的,可以用不同的 Python 版本?
总之,我主要想知道怎么解决这个错误,以便我能用 Python2.5 设置一个虚拟环境。如果有额外的信息,我会很感激。
相关问题:
4 个回答
我在Ubuntu 10.04 Lucid Lynx(这个版本默认安装了Python 2.6)上成功搞定了这个,步骤如下:
通过这个链接安装Python 2.5:https://launchpad.net/~fkrull/+archive/deadsnakes。
如果你不知道怎么做,可以按照下面的步骤:
1a. 打开文件 /etc/apt/sources.list,添加这一行:deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
1b. 运行命令 'sudo apt-get update'。
1c. 运行命令 'sudo apt-get install python2.5'。
1d. 通过运行 'which python2.5' 来确认python2.5是否在你的系统路径中。运行 'virtualenv -p python2.5 ENV'(其中ENV是你想给你的环境目录起的名字)。
然后你就可以像平常一样使用 '. env/bin/activate' 等命令了。这个方法对我来说很有效,如果你在设置过程中遇到问题,随时告诉我。
你不需要安装两个虚拟环境。你可以通过使用 --python 这个参数来告诉虚拟环境使用哪个Python,方法如下:
virtualenv --python=python2.5 <my-venv>
我之前安装了一个Python 2.5的版本,具体名字我忘了,但好像是叫“Python 2.5 minimal”。这个版本在安装deadsnakes的时候出现了一些问题。后来我把它卸载了,结果一切都正常了。