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的环境配置成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/37646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

惠海 H6246低功耗DC/DC降压型恒压芯片60V降3.3V5V12V 蓝牙模块 单片机供电

1.产品描述 H6246是一种内置60V耐压MOS,支持输入高达48V的高压降压开关控制器,可以向负载提供0.3A的连续电流。H6246支持输出恒定电压,可以通过调节VFB采样电阻来设置输出电压,同时支持最大电流限制,可以通过修改CS采…

操作系统期末复习考题二

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、前言🚀🚀🚀二、正文☀️☀️☀️三、总结🍓🍓🍓 一、前言🚀🚀&am…

【资源调度】1-何为调度?

导读:本期是全网最全【资源调度】系列推文的第1期(共50期左右)。我们将对调度的定义与作用、计划与调度的关系、调度问题的拆解做出详细介绍,使大家对【资源调度】问题有了一个整体的认识,为后续的内容奠定基础。 作者1:张哲铭&am…

个人搭建cppreference网站

近日,由于购买的腾讯云服务器要过期了,之前在服务器搭建的cppreference也要重新搭建,故写下此文章 cppreference的访问速度也慢,故自己WSL子系统简单搭键一下是个不错的选择 环境准备 首先,自己先安装Nginx,在网上找安装教程即可下载cppreference网站资源包:https://pan.baidu…

RFID固定资产管理系统在企业中的应用与优势

随着企业资产规模的不断扩大和管理复杂性的增加,传统的资产管理方式已无法满足企业高效管理的需求。RFID固定资产管理系统凭借其高效、准确、实时的特点,成为企业固定资产管理的新宠。 一、什么是RFID固定资产管理系统 RFID(无线射频识别&…

使用AI工具 Baidu Comate 辅助编码 快速定位修改Bug

一、Baidu Comate 概述 Baidu Comate(百度智能编码助手)是一款基于文心大模型的新一代编码辅助工具。它结合了百度多年积累的编程现场大数据和外部优秀开源数据,旨在为用户提供高质量的编程代码生成和优化服务。Comate的主要目标是提升编码效…

帮助某服务业公司制定发展战略与未来规划

在集团公司高速发展、业务范围不断扩大时,组织往往对公司未来的发展方向感到迷茫,不知道如何进行更好的规划,找到合适的发展战略,为企业提供更长远的发展空间,带来更多是利益。面对这个问题,华恒智信认为企…

AXI接口简介

AXI接口,全称为Advanced eXtensible Interface,是ARM公司推出的一种高性能、低成本、可扩展的高速总线接口。AXI接口是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)高级微控制器总线架构的一部分。2003年发布了…

RK3568平台(USB篇)UVC驱动分析

一.UVC简介 摄像头分为两类: 1.CAMER接口的摄像头; 2.USB接口接口的摄像头; 这里主要介绍usb摄像头的设备驱动程序。 UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准。…

详解ApplicationRunner和CommandLineRunner

一、前言 springBoot框架项目,有时候有预加载数据需求——提前加载到缓存中或类的属性中,并且希望执行操作的时间是在容器启动末尾时间执行操作。比如笔者工作中遇到了一个预加载redis中的缓存数据,加载为java对象。针对这种场景&#xff0c…

调试解析直播弹幕消息protobuf内容,一步一步教你debug查看PushFrame和Response解码在哪里

我们知道直播间的弹幕消息是通过websocket传输的,而且传输的并不是明文数据,而是protobuf消息,至于为什么使用这个protobuf消息,因为它是二进制传输,更快更稳,相对于直播这种实时性比较高的要求&#xff0c…

Profibus协议转profinet协议网关模块连接电机保护器与PLC通讯

一、背景 工业通讯中常见的协议有:Modbus协议,ModbusTCP协议,Profinet协议,Profibus协议,Profibus DP协议,EtherCAT协议,EtherNET协议等在现代工业控制系统中具有重要的角色。而Profibus协议转…

Horror病毒原理和解析【附靶场+网安学习视频】

Windows XP Horror Edition:这是一种伪装成Windows XP更新的应用程序,实际上会安装恶意软件。一旦运行,它会显示一个假更新,完成后屏幕会显示各种恐怖效果和文字。这个程序会更改桌面背景、图标和系统设置,甚至尝试重写…

不能创建第三个变量,实现两个数的交换

目录 常规实现两个数的交换(如:交换变量a和变量b) 方法一:加减法 方法二:异或操作符 常规实现两个数的交换(如:交换变量a和变量b) 创建一个临时变量tmp,先将其中一个…

matlab 计算导数

边界提取 一、算法原理1、主要函数2、参考文献二、代码实现三、结果展示四、参考链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、主要函数 Y = diff(X)计算沿大小不等于 1 的第一个数组维度的 X X…

STM32——使用TIM输出比较产生PWM波形控制舵机转角

一、输出比较简介: 只有高级定时器和通用寄存器才有输入捕获/输出比较电路,他们有四个CCR(捕获/比较寄存器),共用一个CNT(计数器),而输出比较功能是用来输出PWM波形的。 红圈部分…

Stable Diffusion【真人模型】:人像光影摄影极限写实真实感大模型

大家好,我是极客菌 今天和大家分享一个基于SD1.5的真人大模型:人像光影摄影极限写实真实感大模型。 该模型具有以下特点: 真实肤感(在面部肌理和皮肤肌理上均有加强学习,拒绝ai出图假的问题) 永不脱妆&a…

数据结构7---图

一、定义 对于图的定义,我们需要明确几个注意的地方:一线性表中我们把数据元素叫元素,树中叫结点,在途中数据元素我们则称之为顶点(Vertex)。 对于图的定义,我们需要明确几个注意的地方: 线性表中我们把数据元素叫元素&#xf…

使用shell脚本编写监控系统资源(CPU,内存,磁盘)使用情况

🏡作者主页:点击! 🛠️Shell编程专栏:点击! ⏰️创作时间:2024年6月20日16点30分 🀄️文章质量:95分 目录 ————前言———— 1.本章目标 2.编写脚本 1.获取内…

Java异常处理详解【入门篇】

Java异常处理详解【入门篇】 Java异常处理详解1. 异常的概念2. 异常的分类2.1 检查异常(Checked Exception)2.2 非检查异常(Unchecked Exception)2.3 错误(Error) 3. 异常处理机制3.1 try-catch3.2 finally…