Pyenv
功能:管理python的版本
安装部署过程:
1.>安装依赖包:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
2.>安装pyenv包:
#Git clone https://github.com/pyenv/pyenv.git ~/.pyenv #如果没安装git,记得安装
3.>设置环境变量:
#vim ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
#source ~/.bashrc
#即是启动语句,重启系统执行这条语句
exec $SHELL
使用规则:
pyenv <command > [args]
#通过安装python 3.5来演示 其用法
pyenv install –list #查看可以安装的版本列表
pyenv install 版本号 #安装指定的版本
pyenv local 3.4.1 #切换当前目录为python为3.1.4
pyenv global 3.4.1 #切换全局目录为python3.1.4
pyenv rehash #刷新shims
pyenv commands #列出可用的命令
pyenv更多用法
shell #设置或列出Shell环境下的python版本号
uninstall# 卸载指定的python版本号
rehash #重新加载pyenv的shims的路径(安装完python的版本后需要执行该命令)
version #展示当前的python版本号 及其生效的路径
versions#展示pyenv管控的所有python版本
which 列出要使用的命令的绝对路径
whence #列出后缀命令的所有可用的版本
遇到的问题:
Downloading Python-3.7.0.tar.xz...
-> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
Installing Python-3.7.0...
BUILD FAILED (CentOS Linux 7 using python-build 1.2.7-1-g7190216)
Inspect or clean up the working tree at /tmp/python-build.20180822221954.2273
Results logged to /tmp/python-build.20180822221954.2273.log
Last 10 log lines:
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... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/python-build.20180822221954.2273/Python-3.7.0':
问题分析: gcc出了问题 直接yum install libc6-dev libffi-devel gcc
Virtualenv
功能: 通过创建虚拟环境 来隔离python版本
部署:
pip install virtualenv
使用规则:
Virtualenv <选项> 命令
–version #显示当前版本号。
-h, –help #显示帮助信息。
-v, –verbose #显示详细信息。
-q, –quiet #不显示详细信息。
-p PYTHON_EXE, –python=PYTHON_EXE
指定所用的python解析器的版本,比如 –python=python2.5 就使用2.5版本的解析器创建新的隔离环境。默认使用的是当前系统安装(/usr/bin/python)的python解析器
–clear #清空非root用户的安装,并重头开始创建隔离环境。
–no-site-packages #令隔离环境不能访问系统全局的site-packages目录。
–system-site-packages #令隔离环境可以访问系统全局的site-packages目录。
–unzip-setuptools #安装时解压Setuptools或Distribute
–relocatable #重定位某个已存在的隔离环境。使用该选项将修正脚本并令所有.pth文件使用相当路径。
–distribute #使用Distribute代替Setuptools,也可设置环境变量VIRTUALENV_DISTRIBUTE达到同样效要。
–extra-search-dir=SEARCH_DIRS #用于查找setuptools/distribute/pip发布包的目录。可以添加任意数量的–extra-search-dir路径。
–never-download #禁止从网上下载任何数据。此时,如果在本地搜索发布包失败,virtualenv就会报错。
–prompt==PROMPT #定义隔离环境的命令行前缀。
实战:
进入你的目录,创建虚拟环境env
virtualenv env
激活虚拟环境
Source env/bin/activate
退出虚拟环境,需已激活
deactivate