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
相关推荐
莫忘初心丶2 分钟前
python flask 使用教程 快速搭建一个 Web 应用
前端·python·flask
ChinaRainbowSea23 分钟前
1. Linux下 MySQL 的详细安装与使用
linux·数据库·sql·mysql·adb
不爱学英文的码字机器34 分钟前
Python爬虫实战:从零到一构建数据采集系统
开发语言·爬虫·python
鹿鸣悠悠39 分钟前
Python 类和对象详解
开发语言·python
laocooon52385788644 分钟前
用Python实现的双向链表类,包含了头插、尾插、归并排序等功能
开发语言·python
网络安全(华哥)1 小时前
网络安全服务实施流程管理 网络安全服务体系
运维·服务器·网络
致奋斗的我们1 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
百锦再1 小时前
在Linux上创建一个Docker容器并在其中执行Python脚本
linux·python·docker
Ares-Wang1 小时前
负载均衡 方式
运维·负载均衡
钗头风1 小时前
3.Docker常用命令
运维·docker·容器