在ubuntu lucid中,我默认有python2.6
。我想安装python 3.3.1
。
我从 Python-3.3.1.tar.bz2
提取到我的主文件夹中,以便 /home/me/Python-3.3.1
包含所有文件。然后根据我所做的自述文件
./configure
make
make test
sudo make install
这在 /home/me/Python-3.3.1
文件夹中创建了一个名为 python
的可执行文件。
另外,现在我在 /usr/local/bin
目录中有几个 python3*
文件。
其中,
python3 是可执行文件的链接,
python3.3是可执行文件,
python3.3m 是一个可执行文件。
我想为 python3 创建一个 virtualenv 并尝试了以下操作
sudo virtualenv envpy331 --distribute --no-site-packages --python=/home/me/Python-3.3.1/python
这产生了一个断言错误
File "/usr/local/lib/python2.6/dist-packages/virtualenv-1.8.2-py2.6.egg/virtualenv.py", line 2471, in <module>
main()
File "/usr/local/lib/python2.6/dist-packages/virtualenv-1.8.2-py2.6.egg/virtualenv.py", line 942, in main
never_download=options.never_download)
File "/usr/local/lib/python2.6/dist-packages/virtualenv-1.8.2-py2.6.egg/virtualenv.py", line 1043, in create_environment
site_packages=site_packages, clear=clear))
File "/usr/local/lib/python2.6/dist-packages/virtualenv-1.8.2-py2.6.egg/virtualenv.py", line 1207, in install_python
copy_required_modules(home_dir)
File "/usr/local/lib/python2.6/dist-packages/virtualenv-1.8.2-py2.6.egg/virtualenv.py", line 1159, in copy_required_modules
dst_filename = change_prefix(filename, dst_prefix)
File "/usr/local/lib/python2.6/dist-packages/virtualenv-1.8.2-py2.6.egg/virtualenv.py", line 1134, in change_prefix
(filename, prefixes)
AssertionError: Filename /home/me/Python-3.3.1/Lib/os.py does not start with any of these prefixes: ['/usr/local']
我需要做什么来纠正这个问题?我是否需要删除 python3 安装,或者是否需要使用 prefix=/usr/local
重新配置它?并再次运行安装?
最佳答案
您已经安装了它。只需指向已安装的python3即可。 试试这个:
virtualenv envpy331 --python=/usr/local/bin/python3.3
关于python-3.x - python3 和 virtualenv 的断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16098830/