python版本
其实刚开始学python的时候蛮纠结的,到底是学python2.7还是学python3.x,因为两个版本不怎么兼容,python2.7代表的应用广泛,python3.x代表着未来,所有在纠结的过程,不如自己试试两个版本python,希望两种版本能够切换自如,下面介绍两款python版本控制工具。
pyenv
clone pyenv 至家目录
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
修改环境变量
1 | echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc |
2 | echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc |
3 | echo 'eval "$(pyenv init -)"' >> ~/.bashrc |
重启当前shell
exec $SHELL -l
pyenv versions命令
1 | * system(set by /root/.pyenv/version) 正常 |
pyenv安装好后会在系统PATH中插入shims路径,每次执行python相关的可执行时,会优先在shims中寻找python路径
pyenv管理多版本
查看可安装的版本列表
- pyenv install -list
安装指定的python版本 - pyenv install 3.4.1
切换当前目录python版本为3.4.1 - pyenv local 3.4.1
切换全局目录python版本为3.4.1 - pyenv global 3.4.1
刷新shims - pyenv rehash
commands 列出pyenv的所有可用命令
- local 设置或列出当前环境下python版本号
- global 设置或列出全局环境下python版本号
- shell 设置或列出shell环境下python版本
- install 安装指定的python版本
- uninstall 卸载指定的python版本
- rehash 重新加载pyenv的shims路径(安装完python版本后需要执行该命令)
- version 展开当前python的版本号及其生效的路径
- versions 列出pyenv管控的所有可用python版本
- which 列出要使用命令绝对路径
- whence 列出后缀命令的所有可用的版本
virtualenv
virtualenv 用来创建一个为应用“隔离”的python运行环境
yum install -y python-pip python-devl
pip install virtualenv
需要强调的是:virtualenv不是通过多版本管理的方式来实现系统同时兼容多python环境,而是其通过在工作目录中虚拟完整的python环境来实现python多环境并存。
virtualenv 【opotion】dest_dir
创建virtualenv /data/python3.4.1/ 的虚拟目录
- –version 显示当前版本号
- -h –help 显示帮助信息
- -v –verbose 显示详细信息
- -q –quit 不显示详细信息
- -p PYTHON_EXE –python=PYTHON_EXE 指定所用的python解释器版本,默认使用当前系统的python版本
- –clear 清空非root用户的安装,并从头开始创建隔离环境
- –no-site-packages 令隔离环境不能访问系统全局的site-packahes目录
- –system-site-packages 令隔离环境可以访问系统全局的site-packages目录
- –unzip-setuptools 安装时解压setuptools或distribute
- –relocatable 重定位某个已存在的隔离环境,使用该选项将修正脚本,并令所有.pth文件使用相应路径
- –distribute 使用distribute代替setuptools,也可以设置变量VIRTUALENV_DISTRINUTE达到同样的效果
- –extra-search-dir=SEARCH_DIRS 用于查找setuptools、distribute、pip发布包的目录,可以添加任意数量
- –never-download 禁止从网上下载任何数据。此时在本地搜索发布包失败,就会报错
- –prompt==PROMPT 定义隔离环境的命令行前缀
eg:
1 | virtualenv /data/python |
2 | source /data/python/bin/activate |
3 | deactivate 退出 |
使用virtualenvwrapper管理虚拟环境
pip install virtualenvwrapper
vim ~/.bash_profile
source /usr/local/bin/virtualenvwrapper.sh
在~/Envs中创建pythonEnv文件夹中
mkvirtualenv pythonEnv
mkvirtualenv pythonEnv -p python3.5
- workon pythonEnv 切换环境
- deactivate 退出
- rmvirtualenv pythonEnv 删除环境
其他命令
- lsvirtualenv 列举所以的环境
- cdvirtualenv 导航到当前激活的虚拟环境的目录中,比如说这样你就能够浏览它的site-packages
- cdsitepackages 和上面的类似,但是是直接进入site-packages目录中
- lssitepackages 显示site-packages目录中的内容