pyenv-Python多版本虚拟环境管理
1、软件安装
1.1、安装依赖包
1.1.1、依赖库
yum install -y git curl # python编译依赖如下 yum install -y gcc make xz-devel patch gdbm-devel openssl-devel yum install -y sqlite-devel readline-devel zlib-devel bzip2-devel
1.1.2、安装openssl
# 安装perl和所需要的模板块 yum install perl -y # 解压安装 curl -o openssl-1.1.1t.tar.gz https://www.openssl.org/source/openssl-1.1.1t.tar.gz && tar xvf openssl-1.1.1t.tar.gz && cd openssl-1.1.1t && ./config --prefix=/usr/local/openssl-1.1.1 && make && make install # 创建软链接,方便管理 ln -s /usr/local/openssl-1.1.1 /usr/local/openssl # 增加动态链接库 echo " /usr/local/openssl/lib" >>/etc/ld.so.conf ldconfig -v # 更换openssl mv /usr/bin/openssl /usr/bin/openssl.old ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
1.2、安装pyenv软件
# 下载软件 wget https://github.com/pyenv/pyenv/archive/refs/tags/v2.3.20.tar.gz tar xvf v2.3.20.tar.gz -C /usr/local/ ln -s /usr/local/pyenv-2.3.20 /usr/local/pyenv # 配置环境变量 cat << 'CAT_END' >> /etc/profile export PYENV_HOME=/usr/local/pyenv/ export PATH=$PATH:$PYENV_HOME/bin CAT_END source /etc/profile
1.3、安装python3.11
1.3.1、查看可安装版本
pyenv install -l
1.3.2、安装python
useradd python su - python
CONFIGURE_OPTS="-with-openssl=/usr/local/openssl" \ CPPFLAGS="-I/usr/local/openssl/include" \ LDFLAGS="-L/usr/local/openssl/lib" \ pyenv install -v 3.11
1.3.3、查看当前安装的python版本
# 查看所有已经安装版本 ]$ pyenv versions * system (set by /home/python/.pyenv/version) 3.11.4 # 当前python版本,system表示当前操作系统使用的版本 ]$ pyenv version system (set by /home/python/.pyenv/version)
1.4、配置登陆会话环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
1.5、pyenv-virtualenv安装
1.5.1、下载软件
wget https://codeload.github.com/pyenv/pyenv-virtualenv/tar.gz/refs/tags/v1.2.1
1.5.2、安装
tar xvf pyenv-virtualenv-1.2.1.tar.gz && cd pyenv-virtualenv-1.2.1
PREFIX=/usr/local/pyenv ./install.sh
2、创建虚拟环境
2.1、创建两个版本的py
2.1.1、创建
CONFIGURE_OPTS="-with-openssl=/usr/local/openssl" \ CPPFLAGS="-I/usr/local/openssl/include" \ LDFLAGS="-L/usr/local/openssl/lib"# 创建两个版本的virtualenv pyenv virtualenv 3.11.4 py3.11 pyenv virtualenv 3.9.17 py3.9
2.1.2、查看保存的位置
]$ ll .pyenv/versions/ drwxr-xr-x. 7 python python 68 6月 20 22:59 3.11.4 drwxr-xr-x. 7 python python 68 6月 20 23:04 3.9.17 lrwxrwxrwx. 1 python python 47 6月 20 23:04 py3.11 -> /home/python/.pyenv/versions/3.11.4/envs/py3.11 lrwxrwxrwx. 1 python python 46 6月 20 23:04 py3.9 -> /home/python/.pyenv/versions/3.9.17/envs/py3.9
2.2、版本切换
2.2.1、切换3.11版本
]$ pyenv local py3.11 ]$ python -V Python 3.11.4
2.2.2、切换3.9版本
]$ pyenv local py3.9 ]$ python -V Python 3.9.17
2.3、版本查看
pyenv version
pyenv versions