简体   繁体   English

在Windows 8,python 3.3中创建虚拟环境的麻烦

[英]trouble with creating a virtual environment in Windows 8, python 3.3

I'm trying to create a virtual environment in Python, but I always get an error no matter how many times I re-install python-setuptools and pip. 我正在尝试用Python创建一个虚拟环境,但无论我重新安装python-setuptools和pip多少次,我总是会收到错误。

My computer is running Windows 8, and I'm using Python 3.3. 我的电脑运行的是Windows 8,而我正在使用Python 3.3。

E:\Documents\proj>virtualenv venv --distribute
Using base prefix 'c:\\Python33'
New python executable in venv\Scripts\python.exe
Installing setuptools, pip...
  Complete output from command E:\Documents\proj\venv\Scripts\python.exe -c "imp
ort sys, pip; pip...ll\"] + sys.argv[1:])" setuptools pip:
  Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 1567, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1534, in _find_and_load_unlocked
  File "c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv_suppo
rt\pip-1.5-py2.py3-none-any.whl\pip\__init__.py", line 9, in <module>
  File "<frozen importlib._bootstrap>", line 1567, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1534, in _find_and_load_unlocked
  File "c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv_suppo
rt\pip-1.5-py2.py3-none-any.whl\pip\log.py", line 8, in <module>
  File "<frozen importlib._bootstrap>", line 1567, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1534, in _find_and_load_unlocked
  File "c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv_suppo
rt\setuptools-2.0.2-py2.py3-none-any.whl\pkg_resources.py", line 2696, in <modul
e>
  File "c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv_suppo
rt\setuptools-2.0.2-py2.py3-none-any.whl\pkg_resources.py", line 429, in __init_
_
  File "c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv_suppo
rt\setuptools-2.0.2-py2.py3-none-any.whl\pkg_resources.py", line 443, in add_ent
ry
  File "c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv_suppo
rt\setuptools-2.0.2-py2.py3-none-any.whl\pkg_resources.py", line 1722, in find_i
n_zip
  File "c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv_suppo
rt\setuptools-2.0.2-py2.py3-none-any.whl\pkg_resources.py", line 1298, in has_me
tadata
  File "c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv_suppo
rt\setuptools-2.0.2-py2.py3-none-any.whl\pkg_resources.py", line 1614, in _has
  File "c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv_suppo
rt\setuptools-2.0.2-py2.py3-none-any.whl\pkg_resources.py", line 1488, in _zipin
fo_name
AssertionError: c:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\EGG-INFO
\PKG-INFO is not a subpath of c:\Python33\lib\site-packages\virtualenv-1.11-py3.
3.egg\virtualenv_support\setuptools-2.0.2-py2.py3-none-any.whl\
----------------------------------------
...Installing setuptools, pip...done.
Traceback (most recent call last):
  File "C:\Python33\Scripts\virtualenv-script.py", line 9, in <module>
    load_entry_point('virtualenv==1.11', 'console_scripts', 'virtualenv')()
  File "C:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv.py",
line 820, in main
    symlink=options.symlink)
  File "C:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv.py",
line 988, in create_environment
    install_wheel(to_install, py_executable, search_dirs)
  File "C:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv.py",
line 956, in install_wheel
    'PIP_NO_INDEX': '1'
  File "C:\Python33\lib\site-packages\virtualenv-1.11-py3.3.egg\virtualenv.py",
line 898, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command E:\Documents\proj\venv\Scripts\python.exe -c "import sys, pip;
pip...ll\"] + sys.argv[1:])" setuptools pip failed with error code 1

I've found a solution to this problem. 我找到了解决这个问题的方法。 Only the latest virtualenv (v1.11) which was released just a few days ago has this problem. 只有几天前发布的最新virtualenv(v1.11)才出现这个问题。 Remove the egg from your site-packages folder and install the previous version via easy_install virtualenv==1.10.1 , virtualenv will work fine. 从您的site-packages文件夹中删除egg并通过easy_install virtualenv==1.10.1安装以前的版本,virtualenv将正常工作。

I install virtulaenvwrapper-win and upgrade my virtualenv version to latest (1.11.5) with command: 我安装virtulaenvwrapper-win并使用命令将我的virtualenv版本升级到最新版本(1.11.5):

pip install virtualenv --upgrade

If i write: 如果我写:

mkvirtualenv demo --system-site-packages --python=C:\Python34\python.exe

i see: 我懂了:

python.exe: can't open file 'C:\Python34\Scripts\virtualenv-script.py': [Errno 2] No such file or directory

Solution - using virtualenv, non virtualenvwrapper: 解决方案 - 使用virtualenv,非virtualenvwrapper:

cd C:\www\virtualenvs
virtualenv demo --system-site-packages --python=C:\Python34\python.exe

Now i use workon only for activate/deactivate virtual environment. 现在我只使用workon来激活/停用虚拟环境。 System: Windows 8.1 x64 系统:Windows 8.1 x64

With virtualenvwraper==4.7.1 (and probably above), one could just edit mkvirtualenv.bat like this: 使用virtualenvwraper == 4.7.1(可能在上面),可以像这样编辑mkvirtualenv.bat:

uncomment line 48 (remove REM): 取消注释第48行(删除REM):

virtualenv.exe %*

comment line 49 (add REM) 评论第49行(添加REM)

REM python.exe "%PYHOME%\Scripts\virtualenv-script.py" %ARGS%

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM