一、pyenv版本管理工具
pyenv是一个python版本管理工具,可以实现轻松切换多个python版本
它可根据每个用户更改全局python版本,也可以为每个项目指定python版本,还可以管理virtualenv虚拟环境,可以自己创建virtualenv或者通过pyenv-virtualenv来自动化创建虚拟环境
pyenv通过PATH环境变量来匹配切换python或者pip的工作目录,pyenv通过读取工作环境来指定使用哪个python版本,如在当前会话中查找PYENV_VERSION环境变量,可以通过pyenv shell 来设置shell会话变量,在当前目录中的特定应用程序文件.python-version,可以使用pyenv local来设置.python-version,它会搜索每个父目录直到根目录;全局$(pyenv root)/version文件可以通过pyenv global命令修改,通过读取这些环境变量或文件来指定运行的python版本,
1、linux下安装pyenv(centOS)
yum install git -y
yum -y install gcc make patch gdbm-devle openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
创建python用户:在root账户下
useradd pyenv
passwd pyenv 创建密码
切换到pyhton 用户后按下面的方式安装:
1使用下面的脚本自动安装
通过脚本自动安装
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
2)添加环境变量到.bashrc
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
切记 source .bashrc
3)更新pyenv版本
$ pyenv update
检查安装情况
$ pyenv -v
pyenv 1.2.6
2、使用pyenv
$pyenv -h
#安装python版本
$ pyenv help install 查看安装帮助
$ pyenv install -l 显示可安装版本
$ pyenv install 3.6.3
此时可能会报错: No module named '_ctypes'
需要安装包 yum install libffi-devel -y
之后还报错 The Python ssl extension was not compiled. Missing the OpenSSL lib?
安装
yum install readline readline-devel readline-static -y
yum install openssl openssl-devel openssl-static -y
yum install sqlite-devel -y
yum install bzip2-devel bzip2-libs -y
$pyenv -h
列出所有可用的pyenv命令:
local 设置或显示本地应用程序特定的Python版本
global 设置或显示全局Python版本
shell 设置或显示特定于shell的Python版本
install 使用Pyenv构建安装Python版本
uninstall 卸载特定的Python版本
rehash 重置pyenv shims(安装可执行文件后运行此操作)
version 显示当前Python版本及其来源
versions 列出PyEnv可用的所有Python版本
which 显示可执行文件的完整路径
whence 列出包含给定可执行文件的所有Python版本
$ pyenv versions #查看已安装的版本,*为系统自带的正在使用的python
* system (set by /home/env/.pyenv/version)
3.6.3
$ pyenv local 3.6.3 #设置本地环境python版本
$ pyenv versions
system
* 3.6.3 (set by /home/env/pyen/.python-version)
$ pyenv local
3.6.3
$ pyenv local system
$ pyenv local
system
- 使用插件virtualenv创建虚拟环境
$ pyenv virtualenv 3.6.3 jiaoyu #使用python3.6.3创建virtualenv
$ pyenv versions
* system (set by /home/python/.python-version)
3.6.3
3.6.3/envs/jiaoyu
jiaoyu
$ cd .pyenv/versions/
$ ls #真实目录在.pyenv/versions下
3.6.3 jiaoyu
$ mkdir project_app 创建程序目录
$ cd project_app
$ pyenv local jiaoyu #指定目录下的python版本
(jiaoyu) [python@python project_app]$ pyenv local
jiaoyu
(jiaoyu) [python@python project_app]$ cd
[python@python ~]$ pyenv local
system
[python@python ~]$ cd project_app/
(jiaoyu) [python@python project_app]$
- pip通用配置
$ mkdir ~/.pip
$ vim ~/.pip/pip.conf
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
trusted-host=mirrors.aliyun.com
#查看pip使用的环境:
(jiaoyu) [python@python jiaoyu]$ pip -V
#安装ipython
(jiaoyu) [python@python jiaoyu]$ pip install ipython #在虚拟环境中安装ipython,这个模块只在虚拟环境中。
- 安装Jupyter,它是一个轻量级的web界面的python开发测试环境
$ pip install jupyter
$ jupyter notebook help #查看帮助
#修改jupyter密码
$ jupyter notebook password
#启动jupyter
$ jupyter notebook --ip=0.0.0.0 --no-browser
......
http://0.0.0.0:8888/?token=ab2a1fad679c1de14dd6517b3aeb30fc6a440199031f47cd
#通过浏览器访问jupyter,开始编程之旅
http://ip:8888 #输入密码登陆
设置密码 可能报错PermissionError: [Errno 13] Permission denied: '/home/env/.jupyter/jupyter_notebook_config.json'
mkdir /home/env/.jupyter
chmod 777 /home/env/.jupyter
之后创建密码成功