解决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中文件操作简明介绍
Apr 13 Python
Python判断字符串与大小写转换
Jun 08 Python
将Python代码打包为jar软件的简单方法
Aug 04 Python
python3+PyQt5实现自定义流体混合窗口部件
Apr 24 Python
python实现最长公共子序列
May 22 Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 Python
Python3中编码与解码之Unicode与bytes的讲解
Feb 28 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
解决python Jupyter不能导入外部包问题
Apr 15 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
May 04 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
Oct 30 Python
基于OpenCV的路面质量检测的实现
Nov 04 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 Ajax实现页面无刷新发表评论
2007/01/02 PHP
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
php查找字符串出现次数的方法
2014/12/01 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
PHP二维数组去重算法
2016/12/17 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
使用pjax实现无刷新更改页面url
2015/02/05 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
easyui validatebox验证
2016/04/29 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
浅谈在Vue-cli里基于axios封装复用请求
2017/11/06 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
Django中处理出错页面的方法
2015/07/15 Python
遗传算法之Python实现代码
2017/10/10 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
python构造函数init实例方法解析
2020/01/19 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
2020/04/21 Python
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
计算机专业毕业生求职信分享
2013/12/24 职场文书
检察官就职演讲稿
2014/01/13 职场文书
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL