centos下使用pyenv管理python版本

在 CentOS 上安装 pyenvpyenv-virtualenv,可以按照以下步骤进行操作:

ps: centos7 最高适配到3.9.*

步骤 1:安装依赖

首先,确保你的系统中安装了必需的依赖项。你可以使用以下命令安装它们:

[root@ ~]# yum groupinstall "Development Tools"
[root@ ~]# yum install gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel tk-devel libffi-devel

步骤 2:安装 pyenv

接下来,安装 pyenv。你可以通过克隆 pyenv 的 GitHub 仓库来安装:

# 该命令将自动安装 pyenv、pyenv-virtualenv 和其他一些辅助工具。
# 但是会安装到$Home/.pyenv 目录下
[root@ tools]# curl https://pyenv.run | bash


# 这个方法可以安装到指定目录下
[root@ tools]# export PYENV_ROOT="/usr/local/pyenv"
[root@ tools]# curl https://pyenv.run | bash

# 或者 
[root@ tools]# git clone https://github.com/pyenv/pyenv.git /usr/local/pyenv
[root@ tools]# git clone https://github.com/pyenv/pyenv-virtualenv.git /usr/local/pyenv/plugins/pyenv-virtualenv

步骤 3:配置环境变量

安装完成后,需要将 pyenv 路径添加到你的 shell 配置文件中。根据你使用的 shell(bash、zsh 等),编辑相应的配置文件。

对于 bash,在 ~/.bashrc 文件中添加以下内容:

[root@ tools]# vim ~/.bashrc

# 设置 pyenv 根目录
export PYENV_ROOT="/usr/local/pyenv"
# 检查 pyenv 是否存在,并添加其路径
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
# 初始化 pyenv 相关设置
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

[root@ local]# source ~/.bashrc

步骤 4:安装 Python 版本

现在,你已经可以使用 pyenv 安装多个 Python 版本了。你可以列出可安装的版本:

[root@ local]# pyenv install --list

会返回很对的版本,选择需要安装的版本即可。如果安装不成功,可以选择自己下载指定版本,再安装:

[root@ local]# pyenv install 3.9.21
WARNING: Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Downloading Python-3.9.21.tar.xz...
-> https://www.python.org/ftp/python/3.9.21/Python-3.9.21.tar.xz

# 这里如果卡住了,下载安装不成功,我们换种方式
[root@ local]# cd /usr/local/pyenv/
[root@ pyenv]# mkdir cache
[root@ cache]# cd cache
[root@ cache]# wget https://www.python.org/ftp/python/3.9.21/Python-3.9.21.tar.xz

# 下载完成后
[root@ cache]# pyenv install 3.9.21
WARNING: Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Installing Python-3.9.21...
Installed Python-3.9.21 to /usr/local/pyenv/versions/3.9.21

 步骤 5:查看已安装的 Python 版本和虚拟环境

查看当前安装的 Python 版本:

[root@ cache]# pyenv versions
* system (set by /usr/local/pyenv/version)
  3.9.21

步骤 6:设置全局 Python 版本

你可以设置一个全局的 Python 版本,这将是系统默认使用的版本:

[root@ cache]# pyenv global 3.9.21
[root@ cache]# pyenv versions
  system
* 3.9.21 (set by /usr/local/pyenv/version)

步骤 7:创建虚拟环境

使用 pyenv-virtualenv 创建虚拟环境。例如,创建一个名为 myenv 的虚拟环境:

[root@ cache]# pyenv virtualenv 3.9.21 myenv
Looking in links: /tmp/tmptpra4pd8
Requirement already satisfied: setuptools in /usr/local/pyenv/versions/3.9.21/envs/myenv/lib/python3.9/site-packages (58.1.0)
Requirement already satisfied: pip in /usr/local/pyenv/versions/3.9.21/envs/myenv/lib/python3.9/site-packages (23.0.1)

步骤 8:激活虚拟环境

要激活刚刚创建的虚拟环境,可以使用以下命令:

[root@ cache]# pyenv activate myenv
(myenv) [root@ cache]# 

 如果想直接通过安装的虚拟环境的解释器执行脚本,可以使用以下命令:

[root@ cache]# /usr/local/pyenv/versions/3.9.21/bin/python -V
Python 3.9.21

[root@ cache]# /usr/local/pyenv/versions/myenv/bin/python -V
Python 3.9.21

步骤 9:退出虚拟环境

退出当前虚拟环境,可以运行:

(myenv) [root@ cache]# pyenv deactivate

步骤 10:删除虚拟环境、安装的python

如果删除虚拟环境、安装的python:

[root@ cache]# pyenv virtualenvs
  3.9.21/envs/myenv (created from /usr/local/pyenv/versions/3.9.21)
  myenv (created from /usr/local/pyenv/versions/3.9.21)

[root@ cache]# pyenv uninstall myenv
pyenv: remove /usr/local/pyenv/versions/myenv? (y/N) y
pyenv-virtualenv: remove /usr/local/pyenv/versions/3.9.21/envs/myenv? (y/N) y

[root@ cache]# pyenv virtualenvs

[root@ cache]# pyenv versions
  system
* 3.9.21 (set by /usr/local/pyenv/version)

[root@ cache]# pyenv uninstall 3.9.21
pyenv: remove /usr/local/pyenv/versions/3.9.21? (y/N) y
pyenv: 3.9.21 uninstalled

[root@ cache]# pyenv versions
pyenv: version `3.9.21' is not installed (set by /usr/local/pyenv/version)
  system

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于javaweb的SpringBoot酒店管理系统设计和实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

Grok 3.0 Beta 版大语言模型评测

2025年2月17日至18日,全球首富埃隆马斯克(Elon Musk)携手其人工智能公司xAI,在美国重磅发布了Grok 3.0 Beta版。这款被誉为“迄今为止世界上最智能的语言模型”的AI,不仅集成了先进的“DeepSearch”搜索功能&#xff0…

【R语言】绘图

一、散点图 散点图也叫X-Y图,它将所有的数据以点的形式展现在坐标系上,用来显示变量之间的相互影响程度。 ggplot2包中用来绘制散点图的函数是geom_point(),但在绘制前需要先用ggplot()函数指定数据集和变量。 下面用mtcars数据集做演示&a…

php session数据存储位置选择

PHP session 数据的存储位置可以通过配置文件或者代码来进行设置。默认情况下,session 数据是存储在服务器的文件系统中的。你可以将 session 数据存储在其他地方,例如数据库、缓存等。 基础概念 PHP session默认情况下将数据存储在服务器端的临时文件中…

保姆级! 本地部署DeepSeek-R1大模型 安装Ollama Api 后,Postman本地调用 deepseek

要在Postman中访问Ollama API并调用DeepSeek模型,你需要遵循以下步骤。首先,确保你有一个有效的Ollama服务器实例运行中,并且DeepSeek模型已经被加载。 可以参考我的这篇博客 保姆级!使用Ollama本地部署DeepSeek-R1大模型 并java…

Windows桌面系统管理5:Windows 10操作系统注册表

Windows桌面系统管理0:总目录-CSDN博客 Windows桌面系统管理1:计算机硬件组成及组装-CSDN博客 Windows桌面系统管理2:VMware Workstation使用和管理-CSDN博客 Windows桌面系统管理3:Windows 10操作系统部署与使用-CSDN博客 Wi…

臻识相机,华夏相机,芊熠车牌识别相机加密解密

臻识,华夏,芊熠这三种车牌识别相机解密我都试过了,可以正常解密成功,其它品牌我暂时没有测试。超级简单,免费的,白嫖无敌! 流程: ①:先导出配置文件,例如我以…

RK Android11 WiFi模组 AIC8800 驱动移植流程

RK Android WiFi模组 AIC8800 驱动移植流程 作者:Witheart更新时间:20250220 概要:本文介绍了基于 AIC8800D40 芯片的 WiFi6 模组 BL-M8800DS2-40 在 RK3568 平台上的驱动移植流程。主要涉及环境搭建、驱动代码分析、设备树修改、驱动编译配…

Unity Shader Graph 2D - Procedural程序化图形循环加载进度效果

前言 在游戏中进度加载的效果是一种常见的效果,可以告诉玩家当前游戏处于一个资源加载的状态,这样玩家就能理解游戏不是卡住了或者是出现Bug了,而是正在进行一些数据的处理准备进入下一个场景。 创建一个LineLoading的Shader Graph文件,对应创建一个材质球,然后在…

蓝桥杯备考:贪心算法之矩阵消除游戏

这道题是牛客上的一道题,它呢和我们之前的排座位游戏非常之相似,但是,排座位问题选择行和列是不会改变元素的值的,这道题呢每每选一行都会把这行或者这列清零,所以我们的策略就是先用二进制把选择所有行的情况全部枚举…

Java网络编程封装

系列文章目录 Java知识点 文章目录 系列文章目录👉前言👉一、封装的目标👉二、套接字层封装👉壁纸分享👉总结 👉前言 Java 网络编程封装原理主要围绕着将底层的网络通信细节隐藏起来,提供简洁…

百度首页上线 DeepSeek 入口,免费使用

大家好,我是小悟。 百度首页正式上线了 DeepSeek 入口,这一重磅消息瞬间在技术圈掀起了惊涛骇浪,各大平台都被刷爆了屏。 百度这次可太给力了,PC 端开放仅 1 小时,就有超千万人涌入体验。这速度,简直比火…

边缘安全加速(Edge Security Acceleration)

边缘安全加速(Edge Security Acceleration,简称ESA)是一种通过将安全功能与网络边缘紧密结合来提升安全性和加速网络流量的技术。ESA的目标是将安全措施部署到接近用户或设备的地方,通常是在网络的边缘,而不是将所有流…

SpringBoot+Mybatis-Plus实现动态数据源

目录 一、前言二、代码实现1)工程结构2)相关依赖3)数据源拦截切面4)动态数据源切换5)核心配置类6)使用 三、原理分析1)mapper接口注入流程2)动态数据源切换执行流程 四、声明式事务导…

进程概念、PCB及进程查看

文章目录 一.进程的概念进程控制块(PCB) 二.进程查看通过指令查看进程通过proc目录查看进程的cwd和exe获取进程pid和ppid通过fork()创建子进程 一.进程的概念 进程是一个运行起来的程序,而程序是存放在磁盘的,cpu要想执行程序的指…

字节火山引擎 DeepSeek 接入本地使用

文章目录 1. 火山引擎 DeepSeek 初体验2. 本地接入 火山引擎 DeepSeek API3. 新建 API KEY4. 直接使用 1. 火山引擎 DeepSeek 初体验 火山引擎官网 : https://www.volcengine.com/product/ark 火山云默认给每个模型赠送 50 万 tokens 推理免费额度 进来就会看到模型广场&#…

基于javaweb的SpringBoot个人博客系统设计和实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

《操作系统 - 清华大学》8 -4:进程管理:进程控制结构

深度剖析进程控制块:操作系统进程管理的核心关键 在操作系统的复杂体系中,进程控制块(PCB)是实现高效进程管理的关键所在。接下来,将从多个维度深入剖析进程控制块,帮助更好地理解其在操作系统中的重要作用…

Jupyter里面的manim编程学习

1.Jupyterlab的使用 因为我之前一直都是使用的vscode进行manim编程的,但是今天看的这个教程使用的是Jupyter,我也很是好奇这个manim在Jupyter这样的交互式下面会生成怎么样的效果,所以今天尝试了jupyter,并且对于两个进行比较和说…

孜然单授权系统V2.0PHP授权系统

孜然单授权V1.0系统,延续了2022年开发的孜然多应用授权系统V2.0 变更:多应用变单系统,去除没用的垃圾代码,从0开发,去除了一些没用的功能 完善了开发文档,之前那套是我写着玩的屎山代码,V1.0将展…