这是我参与更文挑战的第6天,活动详情查看: 更文挑战
Python版本比较多,Python2 和 Python3 相差非常大,很多项目需要跑在同一台服务器上,我们可以选择直接运行,也可以选择使用 docker。如果用 docker,那就不需要隔离环境了,如果要直接运行在服务器上,那就必须有隔离Python的环境。比如有的项目使用 python 3.5,有的项目使用 python 3.7,此时我们可以借助 pyenv 帮助我们完美的隔离环境,让多个版本的 python 没有任何冲突,完美共存。
1 安装
➜ ~ brew install pyenv
2 配置环境变量
➜ ~ vim .zshrc
export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
3 pyenv 使用
-
查看正在使用的python版本
➜ ~ pyenv version 3.6.8 (set by /usr/local/var/pyenv/version) -
查看系统支持的python版本
➜ ~ pyenv versions system * 3.6.8 (set by /usr/local/var/pyenv/version)* 表示正在使用的python版本, system 表示系统自带的python
-
查看可以安装的python
➜ ~ pyenv install -l Available versions: 2.1.3 2.2.3 2.3.7 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5.0 2.5.1 -
安装指定版本的pyton
➜ ~ pyenv install 3.6.8 -
python版本切换
1 全局切换 ➜ ~ pyenv global 3.6.8 2 目录切换 ➜ ~ pyenv local system
4 virtualenv
4.1 安装
# 采用pip2安装
➜ ~ pip install virtualenvwrapper
4.2 配置
➜ ~ vim .zshrc
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_SCRIPT=/Users/mervinwang/Library/Python/2.7/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/Users/mervinwang/Library/Python/2.7/bin/virtualenv
source /Users/mervinwang/Library/Python/2.7/bin/virtualenvwrapper.sh
4.3 使用示例
4.3.1 创建python2虚拟环境
➜ ~ mkdir py{2,3}
➜ ~ cd py2
➜ py2 pyenv local system
➜ py2 mkvirtualenv -p python2 py2-env
(py2-env) ➜ py2 python -V
Python 2.7.16
4.3.2 创建python3虚拟环境
➜ ~ cd py3
➜ py3 pyenv local 3.6.8
➜ py3 rmvirtualenv py3-env
Removing py3-env...
➜ py3 mkvirtualenv -p python3.6 py3-env
(py3-env) ➜ py3 python -V
Python 3.6.8