当前位置: 首页 > news >正文

centos7.9 python3环境(virtualenv)搭建及所遇错误

人望山,鱼窥荷,真正喜欢想要的,没有一样可以轻易得到。


目录

# 1. 解决版本冲突问题--建议不要跳过(一定要查看软链接是否链接正确)

# 2. python3(virtualenv)环境搭建

# 3. virtualenv常用命令

 # 4. 所遇错误解析

## 4.1  遇到 No module named '_ssl'

## 4.2 错误"Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-w5       kib41y/virtualenvwrapper/"

## 4.3 找不到"pbr"包


# 1. 解决版本冲突问题--建议不要跳过(一定要查看软链接是否链接正确)

python3安装过程在之前的文章:Linux环境安装Python3-CSDN博客

在安装之前,先检查自己的python版本(我使用的python3版本是3.6.1)

python --version

如果是以下 3开头的版本就跳过此步骤

因为我的虚拟机含有两个版本,所以牵涉到更换适用版本问题

  • ①查看系统上对应的软链接设置

        上图是我修改后的,如果/usr/bin/python指向的是/usr/bin/python3之外的路径,则需要伤处原有的软链接,让python的软链接直接指向python3。

  • ②删除链接
rm -rf /usr/bin/python

# rm会提示是否删除该软链接,直接输入"y",再"enter"即可

软链接指令:

# 创建软链接
ln -s [源文件] [软链接文件]
# 修改软链接
ln –snf [新的源文件或目录] [软链接文件]
# 删除软连接--系统会提示"是否需要删除"
rm ./软链接名称
# 无需系统确认直接删除软链接
rm –rf ./软链接名称
  • ③创建新链接
ln -s /usr/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3  /usr/bin/pip3
  • ④检查软链接是否指向了最新版本
ls -l /usr/bin/python*

查看若与以上图片大致相同,则版本冲突解决

# 2. python3(virtualenv)环境搭建

  • ①切换pip源,加快下载速度
mkdir ~/.pip
vim ~/.pip/pip.conf
# 内容:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
  • ②安装virtualenv及virtualenvwrpper 及配置

安装(必须使用Python3的pip去安装

pip3 install virtualenv virtualenvwrapper

寻找virtualenvwrapper.sh路径

find / -name virtualenvwrapper.sh

我的结果 /usr/local/python3/bin/virtualenvwrapper.sh (virtualenvwapper的路径)

寻找virtualenv路径

find / -name virtualenv

我的结果 /usr/local/python3/bin/virtualenv (virtualenv的路径)

配置bashrc

vim ~/.bashrc
# 在空白部分添加:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
# 指定virtualenvwapper的路径
source /usr/local/python3/bin/virtualenvwrapper.sh
# 刚刚查找的路径
# 指定virtualenv的路径
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv

如下图:

使配置文件生效

source ~/.bashrc 

以上python3的环境配置成功!

# 3. virtualenv常用命令

# 虚拟环境列表
workon 或 lsvirtualenv 
# 新建虚拟环境
mkvirtualenv [虚拟环境名称]	
# 启动/切换虚拟环境
workon [虚拟环境名称]	
# 删除虚拟环境
rmvirtualenv [虚拟环境名称]	
# 离开虚拟环境
deactivate	

 # 4. 所遇错误解析

## 4.1  遇到 No module named '_ssl'

  • ①检测系统安装 OpenSSL
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel
  • ② 寻找openssl安装路径
find / -name openssl
##我的结果
/usr/lib64/openssl
/usr/include/openssl
/usr/bin/openssl
/etc/pki/ca-trust/extracted/openssl
# 我们需要知道include、lib或者是lib64上一级目录  
# 我的是/usr  备用(1.3更改路径时使用)
  • ③ 编辑 ssl配置参数:切换到解压号的Python目录
# vim 你的Python目录/Modules/Setup.dist
## 大约在 209 行   取消这几行的注释
### 原参数
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto## 改成下面的, 下面的路径/usr取自1.2查找的结果
SSL=/usr  
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib64 -lssl -lcrypto
  • ④  保存,重新编译安装
# 编译
make
# 安装
make install

## 4.2 错误"Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-w5       kib41y/virtualenvwrapper/"

错误示例:

  •  ①升级pip版本
python3 -m pip install --upgrade pip
  • ② 如果升级pip后问题仍然存在,尝试清除pip的缓存并重新安装包。可以使用以下命令清除缓存
pip3 cache purge

## 4.3 找不到"pbr"包

  • ① 升级setuptools
pip install --upgrade setuptools pip
  • ② 更换pip源--阿里云
pip install --upgrade setuptools pip
  • ③ 在安装virtualenvwrapper之前安装pbr
pip3 install pbr
  • ④ 再安装virtualenvwrapper,回到2的第②步骤

以上python3的环境配置成功!

相关文章:

  • 2024年洗地机哪个牌子好?内行人最建议这4个:清洁力口碑公认都不错
  • 【MySQL】事务实现原理
  • Pip换源,以及python解耦方法实现
  • Linux/Ubuntu访问局域网共享文件夹
  • 面向物联网行业的异常监控追踪技术解决方案:技术革新与运维保障
  • 【C语言】C语言 4 个编译过程详解
  • 一站式采购!麒麟信安CentOS安全加固套件上架华为云云商店
  • 简易电阻、电容和电感测量仪-FPGA
  • [leetcode]max-consecutive-ones 最大连续1的个数
  • 【高级篇】第10章 Elasticsearch 集群管理与扩展
  • 数据结构(Java):迭代器遍历【底层源码解析】
  • 2024年高校辅导员考试题库及答案
  • c#上位机与PLC通讯心跳的实现方法
  • Go内存回收
  • Python获取QQ音乐歌单歌曲
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • css选择器
  • java2019面试题北京
  • Javascript Math对象和Date对象常用方法详解
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • learning koa2.x
  • rabbitmq延迟消息示例
  • ReactNativeweexDeviceOne对比
  • tweak 支持第三方库
  • Vultr 教程目录
  • Webpack 4x 之路 ( 四 )
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 开源地图数据可视化库——mapnik
  • 入手阿里云新服务器的部署NODE
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • 昨天1024程序员节,我故意写了个死循环~
  • ​Python 3 新特性:类型注解
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $(function(){})与(function($){....})(jQuery)的区别
  • $L^p$ 调和函数恒为零
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (1)Jupyter Notebook 下载及安装
  • (1)常见O(n^2)排序算法解析
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (万字长文)Spring的核心知识尽揽其中
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)http协议
  • .net core Swagger 过滤部分Api
  • .net 获取url的方法
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)