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
相关推荐
M78佐菲2 分钟前
Linux学习笔记:文件IO
linux·笔记·学习·算法
wzq11_6667 分钟前
HDFS集群的高可用集群一遍过!!!
运维·debian
qq_1611112717 分钟前
Pillow项目深度解析:Python图像处理的终极武器
图像处理·python·pillow·开源库·历史解析
梅孔立18 分钟前
Pi-Agent 终极极简配置文档(Java+Vue+Python爬虫 4-5千文件项目)
java·vue.js·python
Vcaker20 分钟前
Linux学习22-openstack部署与使用
linux·运维·学习
李可以量化23 分钟前
Redis Client 从了解到精通(二)下:String 类型进阶操作全解
redis·git·python·量化交易·qmt
小周学学学25 分钟前
vmware-horizon第四章:事件数据库配置(docker)
运维·docker·容器
leisoo809731 分钟前
财报舞弊预警系统实战用Python挖掘应收存货异常因子 IG50免费开源股票数据API接口
开发语言·python
智购科技自动贩卖机38 分钟前
自动售货机嵌入式系统Go语言开发实践:从资源受限设备到RTOS协程调度的工程化之路
大数据·linux·数据库·人工智能·yolo·架构·golang
姓刘的哦1 小时前
STM32的启动流分析
linux·运维·arm开发