解决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编写脚本获取手机当前应用apk的信息
Jul 21 Python
python登录豆瓣并发帖的方法
Jul 08 Python
Python中使用装饰器来优化尾递归的示例
Jun 18 Python
基于python内置函数与匿名函数详解
Jan 09 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
python使用多线程编写tcp客户端程序
Sep 02 Python
python实现矩阵和array数组之间的转换
Nov 29 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
python梯度下降算法的实现
Feb 24 Python
Python环境下安装PyGame和PyOpenGL的方法
Mar 25 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
Sep 21 Python
pycharm中选中一个单词替换所有重复单词的实现方法
Nov 17 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把session写入数据库示例
2014/02/26 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
js 异步处理进度条
2010/04/01 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
详解Javascript中prototype属性(推荐)
2016/09/03 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
浅析Python中的序列化存储的方法
2015/04/28 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
django2笔记之路由path语法的实现
2019/07/17 Python
Django 再谈一谈json序列化
2020/03/16 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
几个判断型的面试题
2012/07/03 面试题
劳资专员岗位职责
2013/12/27 职场文书
女儿十岁生日答谢词
2014/01/27 职场文书
校园文明倡议书
2014/05/16 职场文书
培训研修方案
2014/06/06 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
Nginx虚拟主机的配置步骤过程全解
2022/03/31 Servers