同一個系統下裝了多個python應用,而這些python應用需要的python版本不一樣,怎麼解決,答案是pyenv,當然也可以用docker。
1.安裝依賴
yum install gcc make patch gdbm-devel openssl-devel sqlite-devel readlinedevel zlib-devel bzip2-devel
2.建立普通使用者
useradd python
echo python123 | passed --stdin python
3.腳本安裝
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenvinstaller | bash
如果下載下傳失敗,直接打開下面檔案,複制檔案代碼到python使用者家目錄pyenv.sh,然後執行bash pyenv.sh
https://github.com/pyenv/pyenv-installer/blob/master/bin/pyenv-installer
4.配置環境變量
安裝完,按照提示處理,把下面的腳本放到目前使用者的.bashrc檔案末尾
# the following to ~/.bashrc:
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
5.安裝多版本
$ pyenv install -l
$ pyenv install 3.6.9 -vvv
$ pyenv install 3.7.7 -vvv
$ pyenv version 目前python版本,system表示目前作業系統使用的版本
$ pyenv versions 檢視所有已經安裝版本,*星号表示目前版本
pyenv是源代碼編譯安裝Python解釋器,是以一定要安裝gcc等依賴。
6.建立虛拟環境,并添加目錄為指定的python版本
$ mkdir -p projects/test369
$ mkdir -p projects/test369
$ cd projects/test369/
[python@nodex test369]$ pyenv virtualenv 3.6.9 py369
[python@nodex test369]$ pyenv local py369
(py369) [python@nodex test369]$ python -V
Python 3.6.9
(py369) [python@nodex test369]$ pyenv version
py369 (set by /home/python/projects/test369/.python-version)