目 录CONTENT

文章目录

Pyenv 安装 (CentOS)

ZERO
2022-06-27 / 0 评论 / 0 点赞 / 93 阅读 / 0 字

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]$
0

评论区