0

我有一个 py2.7 项目,我想在 py3.2 下进行测试。为此,我想使用 virtualenv。我想创建一个可以在内部运行 3.2 版本的环境:

virtualenv 3.2 -p /usr/bin/python3.2

但它失败了。我的默认 python 版本是2.7(ubuntu 默认设置)。这里是virtualenv --version 1.10。错误输出为:

Running virtualenv with interpreter /usr/bin/python3.2
New python executable in 3.2/bin/python3.2
Also creating executable in 3.2/bin/python
Installing Setuptools...................................................................................................................................................................................................................................done.
Installing Pip..............
  Complete output from command /home/tomasz/Develop...on/3.2/bin/python3.2 setup.py install --single-version-externally-managed --record record:
  Traceback (most recent call last):
  File "setup.py", line 5, in <module>
    from setuptools import setup, find_packages
  File "/usr/lib/python2.7/dist-packages/setuptools/__init__.py", line 2, in <module>
    from setuptools.extension import Extension, Library
  File "/usr/lib/python2.7/dist-packages/setuptools/extension.py", line 2, in <module>
    from setuptools.dist import _get_unpatched
  File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 103
    except ValueError, e:
                     ^
SyntaxError: invalid syntax
----------------------------------------
...Installing Pip...done.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2308, in <module>
    main()
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 821, in main
    symlink=options.symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 963, in create_environment
    install_sdist('Pip', 'pip-*.tar.gz', py_executable, search_dirs)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 932, in install_sdist
    filter_stdout=filter_install_output)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 899, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/tomasz/Develop...on/3.2/bin/python3.2 setup.py install --single-version-externally-managed --record record failed with error code 1

我不知道这个语法错误到底是什么——它从何而来...我知道 try...catch 语句语法在 2.x 和 3.x 之间发生了变化,但是 virtualenv 是否应该抛出语法错误?

如果有人指出我做错了什么或者我的机器上是否存在安装问题,我将不胜感激。

4

3 回答 3

2

要创建 Python 3.2 虚拟环境,您应该使用为 Python 3.2 安装的 virtualenv。在你的情况下,这将是:

/usr/bin/virtualenv-3.2
于 2013-08-04T09:13:27.990 回答
1

您必须使用 Python 3 版本的virtualenv; 您使用的版本是将 Python 2 工具安装到 Python 3 虚拟环境中,并且这些工具不兼容。

于 2013-08-04T08:18:33.717 回答
0
virtualenv --python=/usr/bin/python3.2 --no-site-packages ENV
于 2014-06-11T20:50:39.437 回答