1、安装git
yum install git -y
2、安装Python编译依赖
yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel libffi-devel xz-devel
3、创建用户python
useradd python
4、使用python用户登录后安装Pyenv
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
5、在python用户的~/.bash_profile中追加
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
source ~/.bash_profile
6、python 版本及path路径
python --version
python -V
echo $PATH
python3.9 -m pip install --upgrade pip
install
$ pyenv help install
列出所有可用版本
$ pyenv install --list
在线安装指定版本
$ pyenv install 3.5.3
$ pyenv versions
更新
pyenv update
# 离线安装
mkdir ~/.pyenv/cache
cd ~/.pyenv/cache
wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tar.xz
pyenv install 3.10.4
7、其他注意事项
在 linux 机器上安装 pyenv 的时候报错了,提示
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib
安装以下依赖包,重新执行后就可以了
yum install -y openssl-static
yum install -y gcc wget
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
pyenv的python版本控制
version 显示当前的python版本 versions 显示所有可用的python版本,和当前版本
global 全局设置
$ pyenv global 3.5.3
可以看到所有受pyenv控制的窗口中都是3.5.3的python版本了。
这里用global是作用于非root用户python用户上,如果是root用户安装,请不要使用global,否则影响太大。
比如,这里使用的CentOS6.5就是Python2.6,使用了global就成了3.x,会带来很不好的影响。
$ pyenv global system
shell 会话设置 影响只作用于当前会话
$ pyenv shell 3.5.3
local 本地设置 使用pyenv local设置从当前工作目录开始向下递归都继承这个设置。
$ pyenv local 3.5.3
为什么要使用虚拟环境? 因为刚才使用的Python环境都是一个公共的空间,如果多个项目使用不同
Python版本开发,或者使用不同的Python版本部署运行,或者使用同样的版本开发的但不同项目使
用了不同版本的库,等等这些问题都会带来冲突。最好的解决办法就是每一个项目独立运行自己的
“独立小环境”中。
使用插件,在plugins/pyenv-virtualenv中$ pyenv virtualenv 3.5.3 mag353 使用python
3.5.3版本创建出一个独立的虚拟空间。
$ pyenv versions
* system (set by /home/zero/.pyenv/version)
3.9.2
3.9.2/envs/web
web
[zero@centos ~]$ mkdir web
[zero@centos ~]$ cd web/
[zero@centos web]$ pyenv local web
(web) [zero@centos web]$
评论区