使用pyenv和Vtualenv做环境隔离,使用jupyter方便我们学习
新建用户
所有操作都应在单独的用户中进行,不要使用root用户
useradd python
Pyenv
安装Pyenv
开发版本和所用包版本的隔离
安装过程在CentOS中进行,注意用到EPEL源
安装git
yum install git -y
安装依赖
yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
升级nss,同时保证系统时间正确,不然安装pyenv可能报错
yum update nss
安装pyenv
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
将下面的三行加入到~/.bash_profile
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
source ~/.bash_profile
这样当用户启动的时候,会执行用户的.bash_profile中的脚步,就会启动pyenv
安装好的pyenv就在~/.pyenv中
Pyenv的使用
列出所有可用版本
pyenv instll --list
在线安装指定版本(加-v可以查看详细安装过程)
pyenv install 3.5.3 -v
查看已安装的所有版本(system为当前系统自带版本)
pyenv versions
这样安装较慢,为了提速,使用缓存方式安装
在~/.pyenv目录下,新建cache目录,放入下载好的待安装版本的文件,例如Python-3.6.3.tar.xz
pyenv install 3.6.3 -v
Pyenv的python版本控制
version 显示当前的python版本
versions 显示所有已安装的python版本,和当前版本
global全局设置
$ pyenv global 3.5.3
可以看到所有受pyenv控制的窗口中都是3.5.3的python版本了
这里用global是作用于非root用户python用户上,如果是root用户安装,请不要使用global,否则影响太大。
比如CentOS就是使用Python2.X,root用户下使用global就成了3.X,会带来不好的影响
调整回系统默认版本
$ pyenv global system
shell 会话设置
影响只作用于当前会话
$ pyenv shell 3.6.2
local 本地设置
使用pyenv local设置从当前工作目录开始向下递归都继承这个设置
pyenv local 3.6.2
Virtualenv 虚拟环境
为什么要使用虚拟环境?
因为刚才使用的Python环境都是一个公共的空间,如果多个项目使用不同的Python版本开发,或者使用不同的Python版本部署运行,或者使用了同样的版本开发的但不同项目使用了不同版本的库,等等这些问题都会带来冲突。最好的解决办法就是每一个项目独立运行自己的“独立小环境”中。
我们新建一个目录,接下来将这个目录切换到Python 3.6.2的环境,与系统自带的2.x环境不冲突
mkdir -p dzm/projects/test/
创建虚拟环境,使用呢Python 3.6.2版本创建出一个独立的虚拟空间
pyenv virtualenv 3.6.2 py362
此时再使用pyenv versions就可以看到版本列表中名为py362的环境
将新建的目录切换为py362环境
cd dzm/projects/test/
pyenv local py362
此时当前目录及其子目录下面的python环境就变成了3.6.2版本
其它
不同环境的真实目录
/home/python/.pyenv/versions/
每个环境所安装的包都会在相应的site-packages目录中来
/home/python/.pyenv/versions/3.6.2/lib/python3.6/site-packages
安装ipython
ipython是增强的交互式Python命令行工具
操作仍然在dzm/projects/test/目录中,此时ipython也是安装到这个环境中的,与外面的环境相互隔离
pip install ipython
ipython
pip通用配置
pip是Python的包管理工具,3.x版本直接带了,可以直接使用
和yum一样为了使用国内镜像,做如下配置
Linux系统
$ mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
truste
windows系统
pip的配置文件在家目录新建pip文件夹,在里面新建文本文件pip.ini,等同于linux环境的pip.conf
pip其它应用
查看当前环境都安装了哪些包
pip list
将当前环境的包的列表导出到一个文件
pip freeze > requirement
根据上面导出的列表安装包
pip install -r requirement
(把虚拟环境包目录里面的文件直接拷贝到新环境包目录里也可以)
Jupyter
安装Jupyter
是基于web的交互式笔记本,其中可以非常方便的使用python
安装Jupyter,也会安装ipython的
pip install jupyter
查看帮助
jupyter notebook --help
设置密码(不然用网页端浏览时就要输入启动时的随机密码)
jupyter notebook password
启动(如果不自定0.0.0.0,那么启动后默认绑定127.0.0.1,外部是无法浏览的,默认8888端口)
jupyter notebook --ip=0.0.0.0
查看启动端口(默认8888)
ss -tanl
查看本机IP地址
在windows系统中通过浏览器浏览ip:8888,输入密码后即可使用jupyter
原文地址:http://blog.51cto.com/dzm911/2162954