centos下安装pyenv;并使用其管理python

1.安装pyenv所需要的包,这个很重要

点击这里查看安装所需要的包
我的系统是CentoS7.9,因此执行以下语句

yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel

如果系统没有git的话,还需要下载git

yum install -y git

2.创建python用户并修改密码(方便管理)

useradd python
passwd python

3.使用python用户登录后安装Pyenv(因此以下所有操作仅对python用户生效)

pyenv官网:https://github.com/pyenv/pyenv

pyenv-installer插件:https://github.com/pyenv/pyenv-installer

3.1登录

su - python

3.2通过git下载pyenv(如果失败了多尝试几次)

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

将环境变量添加至配置文件内

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >>~/.bash_profile
echo 'eval "$(pyenv init --path)"' >>~/.bash_profile
exec $SHELL -l #执行这条语句实现重启系统


4.查看pyenv提供支持的python版本,同时查看是否安装pyenv成功

pyenv install --list

5.pyenv安装指定版本的python

如果通过pyenv install [版本号],这样做达到的顺序是:系统先建立一个临时目录(/tmp/),然后联网下载所需要的包到临时目录,然后再解压缩编译,得到你要安装的包,这样做的话耗时比较久。。

所以我们使用本地缓存的方式安装不同版本的python

[python@lura ~]$cd .pyenv/
[python@lura ~/.pyenv]$ls
bin           completions  libexec   man      README.md  terminal_output.png
CHANGELOG.md  CONDUCT.md   LICENSE   plugins  shims      test
COMMANDS.md   Dockerfile   Makefile  pyenv.d  src        versions
[python@lura ~/.pyenv]$mkdir cache
[python@lura ~/.pyenv]$ls
bin           completions  LICENSE   pyenv.d    terminal_output.png
cache         CONDUCT.md   Makefile  README.md  test
CHANGELOG.md  Dockerfile   man       shims      versions
COMMANDS.md   libexec      plugins   src

将本地下载好的python包直接拖动到Cache目录下:

建议下载.tar.xz 和.tgz两种包,这样如果在cache目录下找到该版本对应的包,可以避免再联网下载。

安装过程如下:

先将压缩包下载好放在/cache目录下,这样使用pyenv安装时就会很快,我这里安装的是3.5.3版本。
python官网下载链接

python>cd ./pyenv
python>mkdir cache
python>ls 
Python-3.5.3.tar.xz  Python-3.5.3.tgz

此时安装,速度就很快了

pyenv install 3.5.3 -v   #-v表示安装过程可视化

6.下载virtualenv,其可以创建自己项目的环境

$which pyenv
/home/python/.pyenv/
$git clone https://github.com/pyenv/pyenv-virtualenv.git /home/python/.pyenv/plugins/pyenv-virtualenv


写入配置文件

echo 'eval "$(pyenv virtualenv-init -)"' >>~/.bash_profile
source ~/.bash_profile

创建自己的虚拟环境lwj123 所用python版本为3.5.3

 pyenv virtualenv 3.5.3 lwj353
 cd lwj/projects/cmdb/  #设置自己工作目录文件夹的环境为lwj123
 pyenv local lwj353 #使用pyenv更改当前环境的python版本,local是对当前文件夹生效

查看所有环境

$pyenv versions

在这里插入图片描述
可以看到使用了virtualenv管理的环境后,安装的包都装在envs下的自己创建的环境的site-packages下了,与其他项目不会发生冲突。
在这里插入图片描述
在这里插入图片描述

7.添加pip国内镜像源到配置文件pip.conf

使用pip安装包时,创建pip.conf文件,里边放入可信赖的镜像网站🔗,可以提高pip安装速度

windows系统为pip.ini

mkdir ~/.pip
cd ~/.pip
vim pip.conf #添加镜像源
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
trusted-host=mirrors.aliyun.com

问题记录

切换不同python后,虽然pyenv版本更换了,但是python版本没有换过来,对应的pip版本也就换不过来了,问题如下:
在这里插入图片描述
在这里插入图片描述

解决方法:修改~/.bash_profile文件

echo 'eval "$(pyenv init --path)"' >>~/.bash_profile

##注意,比较早的教程写的都是
echo 'eval "$(pyenv init -)"' >>~/.bash_profile
这样就会出现我上面所说的这个问题

问题解决后,pyenv管理python环境就没有什么问题了噢~
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值