建議仔細看完本文章以後在進行操做,避免失誤,本環境能夠用於生產環境,有利於生產環境python之間的環境隔離,互相不會產生環境衝突;pyenv和pyenv-virtualenv能夠完美結合使用,具體使用狀況看項目具體要求;python
yum install readline readline-devel readline-static -y
yum install openssl openssl-devel openssl-static -y
yum install sqlite-devel -y
yum install bzip2-devel bzip2-libs -y
yum install libffi-devel -y
[root@tset ~]# git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Cloning into '/root/.pyenv'...
remote: Enumerating objects: 17352, done.
remote: Total 17352 (delta 0), reused 0 (delta 0), pack-reused 17352
Receiving objects: 100% (17352/17352), 3.37 MiB | 24.00 KiB/s, done.
Resolving deltas: 100% (11818/11818), done.
[root@tset ~]# vim ~/.bashrc
## add by liuchao at 20190806 //添加如下內容
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
//保存退出
[root@tset ~]# source ~/.bashrc //執行配置生效
我的建議:本身在python官網下載想要安裝的版本;首先要在pyenv目錄下建立cache文件夾,用來存放python安裝包。(能夠解決下載安裝慢的問題)linux
[root@tset ~]# mkdir ~/.pyenv/cache //建立cache文件夾,將下載的python安裝包存放,
[root@tset ~]# cd ~/.pyenv/cache/
[root@tset cache]# ls //python安裝包後綴名必須是.tar.xz
Python-2.7.16.tar.xz Python-3.7.3.tar.xz
[root@tset cache]# cd
[root@tset ~]# pyenv install 3.7.3 -v
/tmp/python-build.20190806095432.10104 ~
/tmp/python-build.20190806095432.10104/Python-3.7.3 /tmp/python-build.20190806095432.10104 ~
Installing Python-3.7.3...
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for python3.7... no
checking for python3... no
checking for python... python
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... checking for --without-gcc... no
checking for --with-icc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for a sed that does not truncate output... /usr/bin/sed
checking for --with-cxx-main=<compiler>... no
checking for g++... no
configure:
[root@tset ~]# pyenv versions
* system (set by /root/.pyenv/version)
3.7.3
[root@tset ~]# pyenv rehash
[root@tset ~]# pyenv global 2.7.8 // 全局
[root@tset ~]# pyenv local 2.7.8 // 當前目錄下
[root@tset ~]# pyenv shell 2.7.8 // shell版本
[root@tset ~]# pyenv shell --unset // 取消當前的shell設定的版本
#建立墊片路徑(爲全部已安裝的可執行文件建立 shims,如:~/.pyenv/versions/*/bin/*,所以,每當你增刪了 Python 版本或帶有可執行文件的包(如 pip)之後,都應該執行一次本命令)
[root@tset ~]# pyenv rehash
[root@tset ~]# pyenv install -l # 查看可安裝的版本
[root@tset ~]# pyenv install 2.7.8 # 安裝python2.7.8的版本
[root@tset ~]# pyenv rehash # 安裝模塊後
[root@tset ~]# pyenv pyenv uninstall 2.7.8 # 卸載
[root@tset ~]# git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'...
remote: Enumerating objects: 2064, done.
remote: Total 2064 (delta 0), reused 0 (delta 0), pack-reused 2064
Receiving objects: 100% (2064/2064), 580.31 KiB | 17.00 KiB/s, done.
Resolving deltas: 100% (1413/1413), done.
[root@tset ~]# echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
[root@tset ~]# source ~/.bash_profile
[root@tset ~]# pyenv virtualenv 2.7.10 env-2.7.10 //建立虛擬環境
[root@tset ~]# pyenv activate env-2.7.10 //激活虛擬環境
[root@tset ~]# pyenv deactivate //退出虛擬環境
[root@tset ~]# pyenv uninstall env-2.7.10 //刪除虛擬環境
[root@tset ~]# rm -rf ~/.pyenv/versions/env-2.7.10 //刪除真實目錄