Virtualenv 创建虚拟环境时出现 ERROR CODE 2

前言:之前“商务英语会话”课的老师布置的作业总是指定我们看一些锻炼口语的视频,奈何百度网盘没会员下载慢,而固态硬盘价格居高不下,奋战三年的X110用得小心翼翼不敢读写太大文件。今天心血来潮,打算做一个播放视频的网站方便同学一起看,多平台一起上岂不美滋滋。结果刚刚装好 Virtualenv (上次安装这个已经是两年前的事了)准备搞个环境开干,跪了:setuptools pip wheel failed with error code 2

尝试

网上比较常见的方法长这样:
virtualenv [project_name] --no-setuptools --no-pip --no-wheel
成功!但是…没有自动化安装工具我一个一个装,那还开发个蛇皮啊,于是就有了这种方法:
virtualenv [project_name] --no-setuptools
也成功了,美滋滋,赶紧搞一波 [project_name]\Script\active 进入虚拟环境开干(Windows的进入方法是 active 而不是 active.bat ,买不起 MAC 真是对不起啊),结果一用 pip 安装软件就跪了,下载完成之后提示…具体提示啥我也忘了,反正就是需要 Setup Tools 嗯。

解决

大半夜的时候意识模糊,在几乎绝望的时候随手输了一个 pip list 结果发现…没!有!Setup Tools!然后再仔细观察报错信息:ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443) 说明要把cmd走一波代理。
  • 首先,去 pypi.python.org 下载 Setup Tools
  • 进入下载目录,安装 whl 文件:
    pip install setuptools-[version]-py2.py3-none-any.whl (md5)
    
  • 用酸酸乳给局域网设置代理,然后在CMD界面输入
    set https_proxy=http://127.0.0.1:1080
    
  • virtualenv [project_name] ……… Done.

其他一些不成熟的建议

  • 在玩 Python 的时候请少使用 Windows 自带的 CMD,用 Git Bash 挺好的。
  • 创建虚拟环境慢和失败大都是没连上 pipy 官网,建议给命令行工具设置代理,具体方法自己搜吧不赘述了。

小插曲

如何设置Pip默认源?对于Windows设置,网上的说法基本一致但目录各有千秋,比如说:
%PYTHON_PACH%Lib\site-packages\
还有
C:\Users\[Username]\AppData\Local\pip
或者是
%USERPROFILE%\pip\pip.ini
应该是版本问题,这些方法我都不起效。后来也是极度绝望中尝试成功,看哪里有 pip-selfcheck.json 文件就在哪放 pip.ini 文件,虚拟环境同理,屡试不爽。
文件内容,比如说改成豆瓣源:
[global] 
index-url = https://pypi.douban.com/simple

参考资料

评论