Centos 7.4 多版本 Python 以及虚拟环境安装

前言

本人前端不太懂 Centos 上面的东西,这两天在搞阿里云的 Ecs 在上面安装 Python 环境,刚开始直接在官网下载了源码包编译安装了 Python3.7.4。但其实部署项目的时候大多会涉及到多项目以及 Python 的版本、环境不一样,因此能够多版本 Python + 虚拟环境。前端

0. Pyenv 安装篇

  • 须要先安装依赖:
yum -y install git gcc make patch zlib-devel gdbm-devel openssl-devel sqlite-devel bzip2-devel readline-devel
  • 安装 Pyenv 以及 pyenv-virtualenv 插件
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
若是又遇到权限的问题,可使用 sudo,下同(我是用的 root 帐号)。

安装完以后能够看到这么一个提示:
git

export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

字面意思把给出来的代码加到 .bashrc 文件当中。(用 vi 或者 vim 均可以)
添加好之后使用 source .bashrc 使其生效。而后咱们能够用 pyenv version 检测是否已经成功。github

1. Python 安装篇

  • 安装 Python

咱们可使用命令 pyenv install --list 查看可安装版本。如图咱们能够看到有不少版本,我这里也没有所有截图出来,你们挑选本身须要的版本。
Python list
接着咱们使用命令 pyenv install 3.6.9 安装 Python 3.6.9,或者你能够在后面接其余版本号。
我本身安装了三个版本,这个是其中两个:
Python 3.6.9
Python 3.5.7
咱们能够测试一下,建两个目录,分别在目录下设置不一样的 Python 版本:
sql

2. pyenv-virtualenv 使用篇

pyenv-virtualenv 是用来建立一个干净的虚拟 Python 环境的。在咱们须要区分环境的时候咱们就能够用到他。shell

  • 建立虚拟环境
# pyenv virtualenv 已安装版本号 虚拟环境名称
pyenv virtualenv 3.5.7 Test_3.5
  • 进入虚拟环境
# pyenv activate 虚拟环境名称
pyenv activate Test_3.5
  • 退出虚拟环境
# pyenv activate 虚拟环境名称
pyenv deactivate


从图中能够看到我建立了两个虚拟环境,两个虚拟环境的 Python 版本也是不同的。vim

3. 经常使用命令令篇

# 查看pyenv支持的版本
pyenv install --list

# 查看已安装版本
pyenv versions

# 安装某个版本
pyenv install 3.6.9

# 卸载某个版本
pyenv uninstall 3.6.9

# 设置当前使用版本
pyenv local 3.6.9

# 设置全局使用版本
pyenv global 3.6.9

# 设置系统使用版本
pyenv shell 3.6.3

# 查看已存在虚拟环境
pyenv virtualenvs

# 建立某个版本的虚拟环境
pyenv virtualenv 3.6.9 env369

# 进入虚拟环境
pyenv activate env369

# 退出虚拟环境
pyenv deactivate

# 删除虚拟环境
pyenv virtualenv-delete env369

下面列出全部的命令,我也没有所有用过(手动黑人问号):bash

activate
commands
completions
deactivate
doctor
exec
global
help
hooks
init
install
installer
local
offline-installer
prefix
rehash
root
shell
shims
uninstall
update
version
--version
version-file
version-file-read
version-file-write
version-name
version-origin
versions
virtualenv
virtualenv-delete
virtualenv-init
virtualenv-prefix
virtualenvs
whence
which

拒绝拖延(感谢关注)

公众号:前端曰curl

公众号ID:js-say测试

ps:是(yue)不是(ri)阿里云

相关文章
相关标签/搜索