解决virtualenv -p python3 venv报错的问题


Posted in Python onFebruary 05, 2021

在阿里云服务器上,用virtualenv创建虚拟环境时,报了个错误

root@iZwz982qla1uxm1s5dnyo7Z:/usr/lib/python3/dist-packages/virtualenv-15.0.1.egg-info# virtualenv -p python3 venv
Running virtualenv with interpreter /usr/bin/python2
New python executable in /usr/lib/python3/dist-packages/virtualenv-15.0.1.egg-info/venv/bin/python2
Not overwriting existing python script /usr/lib/python3/dist-packages/virtualenv-15.0.1.egg-info/venv/bin/python (you must use /usr/lib/python3/dist-packages/virtualenv-15.0.1.egg-info/venv/bin/python2)
Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
 1 [global]
Installing setuptools, pkg_resources, pip, wheel...
 Complete output from command /usr/lib/python3/dis...nfo/venv/bin/python2 - setuptools pkg_resources pip wheel:
 Collecting setuptools
 Downloading http://mirrors.aliyun.com/pypi/packages/ff/f4/385715ccc461885f3cedf57a41ae3c12b5fec3f35cce4c8706b1a112a133/setuptools-40.0.0-py2.py3-none-any.whl (567kB)
Collecting pkg_resources
Exception:
Traceback (most recent call last):
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/basecommand.py", line 209, in main
 status = self.run(options, args)
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/commands/install.py", line 328, in run
 wb.build(autobuilding=True)
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/wheel.py", line 748, in build
 self.requirement_set.prepare_files(self.finder)
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/req/req_set.py", line 360, in prepare_files
 ignore_dependencies=self.ignore_dependencies))
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/req/req_set.py", line 512, in _prepare_file
 finder, self.upgrade, require_hashes)
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/req/req_install.py", line 273, in populate_link
 self.link = finder.find_requirement(self, upgrade)
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 442, in find_requirement
 all_candidates = self.find_all_candidates(req.name)
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 400, in find_all_candidates
 for page in self._get_pages(url_locations, project_name):
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 545, in _get_pages
 page = self._get_page(location)
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 648, in _get_page
 return HTMLPage.get_page(link, session=self.session)
 File "/usr/share/python-wheels/pip-8.1.1-py2.py3-none-any.whl/pip/index.py", line 760, in get_page
 resp.raise_for_status()
 File "/usr/lib/python3/dist-packages/virtualenv-15.0.1.egg-info/venv/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/models.py", line 840, in raise_for_status
 raise HTTPError(http_error_msg, response=self)
HTTPError: 404 Client Error: Not Found for url: http://mirrors.aliyun.com/pypi/simple/pkg-resources/
----------------------------------------
...Installing setuptools, pkg_resources, pip, wheel...done.
Traceback (most recent call last):
 File "/usr/lib/python3/dist-packages/virtualenv.py", line 2363, in <module>
 main()
 File "/usr/lib/python3/dist-packages/virtualenv.py", line 719, in main
 symlink=options.symlink)
 File "/usr/lib/python3/dist-packages/virtualenv.py", line 988, in create_environment
 download=download,
 File "/usr/lib/python3/dist-packages/virtualenv.py", line 918, in install_wheel
 call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
 File "/usr/lib/python3/dist-packages/virtualenv.py", line 812, in call_subprocess
 % (cmd_desc, proc.returncode))
OSError: Command /usr/lib/python3/dis...nfo/venv/bin/python2 - setuptools pkg_resources pip wheel failed with error code 2

看到HTTPError: 404 Client Error: Not Found for url: http://mirrors.aliyun.com/pypi/simple/pkg-resources/以为是阿里云的安全组配置没配好,折腾了半天,原来是访问PyPI镜像源出了问题,将pip的默认的源地址改为国内源即可。

具体操作如下:

vim ~/.pip/pip.conf打开pip配置文件:

写入

[global]
index-url = http://e.pypi.python.org/simple

以下这几个国内源都可以

e.pypi.python.org

pypi.douban.com

pypi.hustunique.com

补充:使用virtualenv创建Python3.7虚拟环境时报错ModuleNotFoundError: No module named '_ctypes'的解决方法

使用virtualenv创建Python3.7.6版本虚拟环境时,遇到了标题中的报错,记录一下解决过程。

出现这种情况一般是因为缺少依赖包libffi-devel

在安装3.7以上版本时,需要一个新的libffi-devel包做依赖

使用yum安装依赖

yum install libffi-devel -y

删除之前安装的报错的虚拟环境目录

rm -f venv

重新编译安装系统Python3.7.6(需要先找到安装时的Python源码包,cd到目录中)

./configure --prefix=/usr/local/python3
make && make install

删除之前建立的软连接

rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3

重新建立软连接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

到此Python3重新安装完成,可以用python3、pip3命令测试一下是否安装成功。

进入虚拟目录将要存放的目录,使用新安装的Python3创建虚拟环境。此处需要使用-p参数指定Python版本路径,否则默认创建Python2的环境。

virtualenv -p /usr/bin/python3 venv

测试进入创建好的虚拟环境中

source venv/bin/activate

退出环境

deactivate

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
Python模块学习 re 正则表达式
May 19 Python
简单介绍Python中的floor()方法
May 15 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
Python打印输出数组中全部元素
Mar 13 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 Python
Django如何简单快速实现PUT、DELETE方法
Jul 24 Python
django多对多表的创建,级联删除及手动创建第三张表
Jul 25 Python
django实现类似触发器的功能
Nov 15 Python
python程序如何进行保存
Jul 03 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
python如何修改文件时间属性
Feb 05 #Python
虚拟环境及venv和virtualenv的区别说明
Feb 05 #Python
Pycharm 如何一键加引号的方法步骤
Feb 05 #Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 #Python
pycharm配置python 设置pip安装源为豆瓣源
Feb 05 #Python
在PyCharm中安装PaddlePaddle的方法
Feb 05 #Python
python实现录制全屏和选择区域录屏功能
Feb 05 #Python
You might like
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
微信小程序实现原生步骤条
2019/07/25 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
python sort、sort_index方法代码实例
2019/03/28 Python
python日志模块logbook使用方法
2019/09/19 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
银行存款证明样本
2014/01/17 职场文书
人事任命书怎么写
2014/06/05 职场文书
死亡证明书样本说明
2014/10/18 职场文书
活动总结书怎么写
2015/05/11 职场文书
刑事上诉状范文
2015/05/22 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python