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)阿里雲

相關文章
相關標籤/搜索