Virtualenv: 在 Arch Linux 上使用 Python 3.3 崩溃

创建于 2016-03-18  ·  3评论  ·  资料来源: pypa/virtualenv

如果我从 Arch Linux AUR安装 Python 3.3,然后尝试打开一个 virtualenv,我会崩溃:

$ virtualenv -p python3.3 /tmp/foo
Running virtualenv with interpreter /usr/bin/python3.3
Using base prefix '/usr'
New python executable in /tmp/foo/bin/python3.3
Also creating executable in /tmp/foo/bin/python
Installing setuptools, pip, wheel...
  Complete output from command /tmp/foo/bin/python3.3 - setuptools pip wheel:
  Traceback (most recent call last):
  File "<stdin>", line 7, in <module>
  File "/usr/lib/python3.5/site-packages/virtualenv_support/pip-8.1.0-py2.py3-none-any.whl/pip/__init__.py", line 15, in <module>
  File "/usr/lib/python3.5/site-packages/virtualenv_support/pip-8.1.0-py2.py3-none-any.whl/pip/vcs/subversion.py", line 9, in <module>
  File "/usr/lib/python3.5/site-packages/virtualenv_support/pip-8.1.0-py2.py3-none-any.whl/pip/index.py", line 30, in <module>
  File "/usr/lib/python3.5/site-packages/virtualenv_support/pip-8.1.0-py2.py3-none-any.whl/pip/wheel.py", line 39, in <module>
  File "/usr/lib/python3.5/site-packages/virtualenv_support/pip-8.1.0-py2.py3-none-any.whl/pip/_vendor/distlib/scripts.py", line 14, in <module>
  File "/usr/lib/python3.5/site-packages/virtualenv_support/pip-8.1.0-py2.py3-none-any.whl/pip/_vendor/distlib/compat.py", line 66, in <module>
ImportError: cannot import name HTTPSHandler
----------------------------------------
...Installing setuptools, pip, wheel...done.
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/virtualenv.py", line 2311, in <module>
    main()
  File "/usr/lib/python3.5/site-packages/virtualenv.py", line 703, in main
    symlink=options.symlink)
  File "/usr/lib/python3.5/site-packages/virtualenv.py", line 936, in create_environment
    download=download,
  File "/usr/lib/python3.5/site-packages/virtualenv.py", line 892, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/usr/lib/python3.5/site-packages/virtualenv.py", line 787, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /tmp/foo/bin/python3.3 - setuptools pip wheel failed with error code 1

该 AUR 包的评论中有一些关于与 SSL 相关的不同构建标志的讨论。 我的印象是包本身需要以某种方式修复,所以这次崩溃不是 virtualenv 的错。 但是,如果 virtualenv 知道这个潜在的错误,并且能够打印出有用的消息,那就太好了。 类似“SomethingSomething 包丢失,可能是因为您的 Python 版本是在没有 BlahBlahSSL 的情况下构建的。Virtualenv 不支持它。”

最有用的评论

应该通过https://bitbucket.org/pypa/distlib/commits/a258e3bdd6f8205f3815e173a55ffe857e743995修复

更新 2018/01/20:在 distlib 0.2.4、pip 9.0.0 (https://github.com/pypa/pip/commit/c8e8a99b7a6f9404536bc9d895a1a42a060f7f91) 中修复,并登陆到 virtual.1.env (15.1.github) com/pypa/virtualenv/pull/972/commits/e944bdc384759c27662b8ffd9264367d569376ee)

所有3条评论

我遇到了与从 Arch Linux AUR 安装的 Python 3.4 中描述的@oconnor663完全相同的错误(Python 的当前/默认版本是 3.5)。
我尝试直接从 Arch Linux 存储库并使用“pip”安装virtualenv ,但在这两种情况下都报告了相同的错误。
这是命令:
$ virtualenv -p /usr/bin/python3.4 python34virtEnv

应该通过https://bitbucket.org/pypa/distlib/commits/a258e3bdd6f8205f3815e173a55ffe857e743995修复

更新 2018/01/20:在 distlib 0.2.4、pip 9.0.0 (https://github.com/pypa/pip/commit/c8e8a99b7a6f9404536bc9d895a1a42a060f7f91) 中修复,并登陆到 virtual.1.env (15.1.github) com/pypa/virtualenv/pull/972/commits/e944bdc384759c27662b8ffd9264367d569376ee)

这是一个老问题,现在可以关闭,因为 EOL Python 3.3 已在https://github.com/pypa/virtualenv/pull/1089中删除

此页面是否有帮助?
0 / 5 - 0 等级