一、使用 Pyenv 管理 Python 版本
pyenv
是一个流行的 Python 版本管理工具,允许你在单个系统上安装和切换多个 Python 版本,包括 3.11。
-
安装依赖项:
sudo yum install -y git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel findutils
-
安装
pyenv
:curl https://pyenv.run | bash
添加以下内容到你的
.bashrc
或.bash_profile
文件中:export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
然后运行以下命令使配置生效:
source ~/.bashrc
-
安装 Python 3.11:
pyenv install 3.11.0
pyenv global 3.11.0
-
安装的时候报错:
Installing Python-3.11.0...
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/centos/.pyenv/versions/3.11.0/lib/python3.11/ssl.py", line 99, in <module>
import _ssl # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
解决方法:
如系统中使用的openssl是旧版本升级openssl版本。下述是根据源码操作步骤:
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz #下载
tar -zxvf openssl-1.1.1w.tar.gz #解压
cd openssl-1.1.1w
#编译和安装
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared
make
sudo make install
# 备份一下旧版
mv /usr/bin/openssl /usr/bin/openssl.bak
# 建立新的软链接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# 编辑ld.so.conf,增加/usr/local/lib
vi /etc/ld.so.conf
# 加载新配置
ldconfig
再执行以下命令重新安装:
CONFIGURE_OPTS="--with-openssl=/usr/local/openssl" pyenv install -v 3.11.0
pyenv global 3.11.0
source ~/.bash_profile
-
验证安装:
python --version
二、从源码编译安装(推荐)
如果你不想使用上述方法,也可以手动编译和安装 Python 3.11,这是一种通用的方法。
-
安装依赖项:
sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel tk-devel
-
下载并解压 Python 3.11 源代码:
cd /usr/src sudo wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz sudo tar xzf Python-3.11.0.tgz
-
编译并安装:
cd Python-3.11.0 sudo ./configure --enable-optimizations sudo make altinstall
-
验证安装:
python3.11 --version
三、使用conda安装
下载 Miniconda 安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
运行安装脚本
bash Miniconda3-latest-Linux-x86_64.sh
在安装过程中,会提示你阅读许可协议、选择安装目录等。默认安装路径通常是 $HOME/miniconda3
。
初始化 Conda
安装完成后,运行以下命令以初始化 Conda:
source ~/.bashrc
2. 创建 Python 3.11 环境
一旦 Conda 安装并初始化成功,你可以创建一个包含 Python 3.11 的新环境。
conda create -n py311 python=3.11
-n py311
指定了环境名称为py311
,你可以根据需要更改名称。python=3.11
指定了 Python 版本为 3.11。
3. 激活新环境
创建完环境后,激活它:
conda activate py311
激活后,命令行提示符会显示当前激活的环境名称。
4. 验证 Python 版本
确保你已经安装并激活了正确的 Python 版本:
python --version
5. 安装所需的库
在 Python 3.11 环境中,你可以使用 conda
或 pip
安装所需的库。例如:
conda deactivate
conda activate <environment_name>
总结
通过这些步骤,你可以在 CentOS 7 系统中使用 Conda 安装并管理 Python 3.11 环境。这种方法非常适合管理多个 Python 版本和相关依赖包。