在virtaulenv中设置环境使用python3卡在setuptools,pip,wheel上

时间:2017-08-14 12:14:16

标签: python virtualenv python-3.4

运行以下内容:

virtualenv -p python3 venv

给出:

Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /specific/a/home/cc/students/csguests/taivanbatb/venv/bin/python3
Also creating executable in /specific/a/home/cc/students/csguests/taivanbatb/venv/bin/python
Installing setuptools, pip, wheel...

这是卡住的地方。

调用CTRL-C给出:

  File "/usr/local/bin/virtualenv", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 671, in main
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2328, in <module>
    raise SystemExit(popen.wait())
  File "/usr/lib/python2.7/subprocess.py", line 1376, in wait
    pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
  File "/usr/lib/python2.7/subprocess.py", line 476, in _eintr_retry_call
    return func(*args)
KeyboardInterrupt
    main()
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 713, in main
    symlink=options.symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 945, in create_environment
    download=download,
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 901, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 769, in call_subprocess
    line = stdout.readline()
KeyboardInterrupt

this相似。

正如链接问题所示,我尝试使用--no-wheel进行安装,但无济于事。我确信这不是网络连接问题,因为使用virtualenv env使用python2设置环境不会产生任何错误。

我使用的所有软件包的具体版本如下:

python 3.4.0 python 2.7.6 virtualenv 15.1.0

4 个答案:

答案 0 :(得分:14)

1.检查您的互联网连接。

2.将python3设置为默认的python解释器,因为你有python2.7作为默认的python解释器。尝试使用没有任何轮子:

virtualenv venv --no-wheel

然后激活virtualenv并运行: -

pip install --upgrade pip
pip install setuptools --no-use-wheel --upgrade
pip install wheel --no-cache 

如果您支持代理,请使用: -
sudo pip download setuptools pip wheel --proxy http://<yourproxyhere>

完成所有这些virtualenv -p python3 venv后,我的virtualenv 完美
注意 :假设您的系统中已经设置了虚拟环境,而python3是您的默认解释器。

  

或者,您不需要virtualenv -p python3 venv。您可以指定要在virtualenv中使用的python解释器(存在于/ usr / bin / *文件夹中)并使用它如下: -
       virtualenv --python = / usr / bin / pythonX.Y     / home / username / path / to / virtualenv_name

     

如果要安装在当前工作目录中,则可以使用: -
       virtualenv --python = / usr / bin / pythonX.Y virtualenv_name
  REFERENCE

答案 1 :(得分:0)

您的堆栈跟踪表明您正在使用2.7安装中的virtualenv。这表示您的PATH未设置为3.x.启动一个新的shell,设置PATH,使其上没有/usr/local/lib/python2.7,然后重试。

答案 2 :(得分:0)

virtualenv只是一个python包。你可以在python2和python3上安装它。

根据我的经验,python3上的virtualenv很好地处理了两个python版本。你的stacktrace显示你使用virtualenv for python2 - 尝试切换到python3。

要在python3上安装它,请运行

pip3 install virtualenv

或者,如果由于某种原因必须使用apt-get,

apt-get install python3-virtualenv

答案 3 :(得分:0)

在网络连接不可用时尝试以下操作:

virtualenv --no-setuptools --no-wheel env_only_pip 

输入virtualenv时您仍然可以使用pip

pip install --no-index --find-links=file:py_package -r requirements.txt