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

news2024/11/25 23:46:16

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


目录

# 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.coloradmin.cn/o/1852406.html

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

相关文章

艺体培训机构管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,教师管理,学员管理,活动管理,课程管理,选课信息管理 前台账户功能包括:系统首页,个人中心,论…

【计算机毕业设计】185餐厅点餐微信小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

【C++】——二叉搜索树(详解)

一 二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: ✨若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 ✨若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 …

累积阅读量高达1个亿了,刚好完成了一个小目标

大家好, 我是老洪。 做自媒体,这不仅仅是一个职业选择,更是我生活中不可或缺的一部分。 自从我踏入这个领域,时光如白驹过隙,转眼间已经走过了一段不短的旅程。 今天,当我打开后台数据,看到那累…

Benchmarking Panoptic Scene Graph Generation (PSG), ECCV‘22 场景图生成,利用PSG数据集

2080-ti显卡复现 源代码地址 Jingkang50/OpenPSG: Benchmarking Panoptic Scene Graph Generation (PSG), ECCV22 (github.com) 安装 pytorch 1.7版本 cuda10.1 按照readme的做法安装 我安装的过程如下图所示,这个截图是到了pip install openmim这一步 下一步 下一步 这一步…

【单片机毕业设计选题24024】-房间自动除湿控制系统

系统功能: 系统分为手动和自动模式,上电默认为自动模式。自动模式下如果获取到湿度 值大于设定的湿度值则自动打开风扇,手动模式下手动开关风扇。 系统上电后显示“欢迎使用除湿控制系统请稍后”,两秒钟后进入主页面显示。 第一行显示系统…

【漏洞复现】Rejetto HTTP File Server 远程代码执行漏洞 (CVE-2024-23692)

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

软件测试----用例篇(设计测试用例保姆级教程✅)

文章目录 前言一、测试用例概念 二、如何设计测试用例三、设计测试用例的方法3.1基于需求的设计方法3.2具体的设计方法等价类边界值正交法判定表法场景法错误猜测法 前言 在软件开发过程中,测试用例是至关重要的一环。它们帮助软件开发人员和测试人员确定软件是否按…

Day2: 双指针977 滑动窗口209 循环不变量原则59

题目977. 有序数组的平方 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> sortedSquares(vector<int>& nums) {int left0;int rightnums.size()-1;vector<int> result(nums.size(),0);int iright;while(left<right){i…

1999-2022年 297个地级市-医院卫生院数量及床位数量(数据收集)

全国297个地级市的医院卫生院数量的稳步增长是医疗事业发展的一个重要标志。政府的持续投入和对医疗设施的改善&#xff0c;不仅提升了医疗服务的硬件水平&#xff0c;也通过引进和培养医疗人才、优化服务流程&#xff0c;提高了医疗服务的整体质量。这些举措极大地增强了人民群…

[Open-source tool]Uptime-kuma的簡介和安裝於Ubuntu 22.04系統

[Uptime Kuma]How to Monitor Mqtt Broker and Send Status to Line Notify Uptime-kuma 是一個基於Node.js的開軟軟體&#xff0c;同時也是一套應用於網路監控的開源軟體&#xff0c;其利用瀏覽器呈現直觀的使用者介面&#xff0c;如圖一所示&#xff0c;其讓使用者可監控各種…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《基于已知电网场景分段拟合智能体智能评估与自主进化方法 》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

技术师增强版,系统级别的工具!【不能用】

数据安全是每位计算机用户都关心的重要问题。在日常使用中&#xff0c;我们经常面临文件丢失、系统崩溃或病毒感染等风险。为了解决这些问题&#xff0c;我们需要可靠且高效的数据备份与恢复工具。本文将介绍一款优秀的备份软件&#xff1a;傲梅轻松备份技术师增强版&#xff0…

构建家庭NAS之一:用途和软硬件选型

用途 最近装了一台NAS&#xff0c;把结果记录一下&#xff0c;也给有兴趣的人做个参考。 我原来有一台基于英特尔Atom 525的NAS&#xff0c;一直勤勤恳恳地正常服役&#xff0c;突然有一天毫无征兆地挂了&#xff0c;只能换一台新的。 我的用途很简单&#xff1a; 备份我和…

简单了解html常用的标签

HTML 一、基础认知 1、注释 1.1、注释的作用和写法 1.1.1、作用 为代码添加解释性&#xff0c;描述性的信息&#xff0c;主要用来帮助开发人员理解代码&#xff0c;浏览器执行代码时回忽略所有注释。 1.1.2、注释的快捷键 在VS Code中&#xff1a;Ctrl / 2、HTML标签的…

程序猿大战Python——面向对象——魔法方法

什么是魔法方法&#xff1f; 目标&#xff1a;了解什么是魔法方法&#xff1f; 魔法方法指的是&#xff1a;可以给Python类增加魔力的特殊方法。有两个特点&#xff1a; &#xff08;1&#xff09;总是被双下划线所包围&#xff1b; &#xff08;2&#xff09;在特殊时刻会被…

Clonable接口和拷贝

Hello~小伙伴们&#xff01;本篇学习Clonable接口与深拷贝&#xff0c;一起往下看吧~(画图水平有限&#xff0c;两张图&#xff0c;&#xff0c;我真的画了巨久&#xff0c;求路过的朋友来个3连~阿阿阿~~~) 目录 1、Clonable接口概念 2、拷贝 2、1浅拷贝 2、2深拷贝 1、Clon…

利用竞争智慧与大型语言模型:假新闻检测的新突破

Explainable Fake News Detection With Large Language Model via Defense Among Competing Wisdom 论文地址: Explainable Fake News Detection with Large Language Model via Defense Among Competing Wisdom | Proceedings of the ACM on Web Conference 2024https://dl.…

国企:2024年6月中国移动相关招聘信息 二

在线营销服务中心-中国移动通信有限公司在线营销服务中心 硬件工程师 工作地点:河南省-郑州市 发布时间 :2024-06-18 截至时间: 2024-06-30 学历要求:本科及以上 招聘人数:1人 工作经验:3年 岗位描述 1.负责公司拾音器等音视频智能硬件产品全过程管理,包括但…

【前端vue3】TypeScrip-Class类用法

类型声明 TypeScrip定义Class类 语法&#xff1a; // 定义一个名为 Person 的类 class Person {constructor () {// 构造函数&#xff1a;稍后定义}run () {// 方法&#xff1a;稍后定义} }在TypeScript是不允许直接在constructor 定义变量的 需要在constructor上面先声明 例…