用python3和virtualenv断言错误

时间:2013-04-19 06:48:19

标签: python-3.x install virtualenv ubuntu-10.04

在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

这在python文件夹中创建了一个名为/home/me/Python-3.3.1的可执行文件。

此外,现在我在python3*目录中有几个/usr/local/bin个文件。

其中,

python3是可执行文件的链接,

python3.3是一个可执行文件,

python3.3m是一个可执行文件。

我想为python3创建一个virtualenv并尝试以下

sudo virtualenv envpy331 --distribute --no-site-packages --python=/home/me/Python-3.3.1/python

这产生了一个AssertionError

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重新配置它?并再次运行安装?

1 个答案:

答案 0 :(得分:1)

您已经安装了它。只需指向已安装的python3即可。 试试这个:

virtualenv envpy331 --python=/usr/local/bin/python3.3