pyenv 能夠幫助你在開發或者生產環境裏安裝和管理多個 Python 版本。這對於 Python 開發者而言很是有用。python
pyenv git地址:https://github.com/pyenv/pyenvgit
1. 獲取git代碼:github
[kuchan@python]# pwd /home/kuchan [kuchan@python]# git clone https://github.com/pyenv/pyenv.git ~/.pyenv
2. 添加環境變量(此處添加於全局,也可在用戶下的~.bashrc裏添加):sql
[kuchan@python]# vim /etc/profile.d/pyenv.sh export PYENV_ROOT="/home/kuchan/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" 讀取環境變量: [kuchan@python]# source /etc/profile.d/pyenv.sh
3. 安裝python其它版本
首先安裝依賴包:shell
[kuchan@python]#yum install gcc make patch gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel readline-devel -y
注:當pyenv安裝的時間較早,就沒法安裝最新python版本,是由於~/.pyenv/plugins/python-build/share/python-build/目錄下沒有相應版本的文件,能夠從pyenv的github上獲取這個文件並存入。vim
pyenv 安裝 python 有在線安裝和離線安裝兩種方式:bash
[kuchan@python]# pyenv install 3.5.2
[kuchan@python]# cd /home/kuchan/.pyenv [kuchan@ .pyenv]# mkdir cache
將下載好的python包放入cache目錄內,無須要解壓。服務器
[kuchan@ .pyenv]# ll cache/ -rw-r--r-- 1 root root 15222676 Jun 26 2016 Python-3.5.2.tar.xz ~]# pyenv install 3.5.2 Installing Python-3.5.2... patching file Lib/venv/scripts/posix/activate.fish Installed Python-3.5.2 to /home/kuchan/.pyenv/versions/3.5.2 ~]# pyenv versions * system (set by /home/kuchan/.pyenv/version) 3.5.2
pyenv經常使用命令:工具
virtualenv 建立的環境就是一個別名,其實都是指向特定的python版本中。測試
[root@6 test]# git clone https://github.com/yyuu/pyenv-virtualenv.git /home/kuchan/.pyenv/plugins/pyenv-virtualenv [root@6 test]# echo 'eval "$(pyenv virtualenv-init -)"' >> /etc/profile.d/pyenv.sh [root@6 test]# source /etc/profile.d/pyenv.sh
1. 建立一個3.5.2的環境
[root@6 test]# pyenv virtualenv 3.5.2 env352
2. 查看virtualenv對應的python環境:
[root@6 test]# ll /home/kuchan/.pyenv/version drwxr-xr-x 7 root root 4096 Jul 25 10:17 3.5.2 lrwxrwxrwx 1 root root 46 Jul 25 10:18 env352 -> /home/kuchan/.pyenv/versions/3.5.2/envs/env352
能夠很明顯的看到這裏的env352只是一個連接至3.5.2。在虛擬環境之中 (env352),這時能夠對這個環境進行任意包的安裝,且不會對其餘環境形成影響
3. 切換和使用新的python虛擬環境:
[root@6 test]# pyenv activate env352 pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior. (env352) [root@6 test]# (env352) [root@6 test]# pyenv version env352 (set by PYENV_VERSION environment variable) (env352) [root@6 test]# pyenv versions system 3.5.2 3.5.2/envs/env352 * env352 (set by PYENV_VERSION environment variable)
4. 退出虛擬環境
(env352) [root@6 test]# pyenv deactivate [root@6 test]#
pip 是一個現代的,通用的 Python 包管理工具。提供了對 Python 包的查找、下載、安裝、卸載的功能。這些庫都是託管在外國的服務器上,致使下載庫的時候很是慢,簡直沒法忍受。
1. 可以使用國內的鏡像站點來加速:
~]# mkdir ~/.pip ~]# vim ~/.pip/pip.conf [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com