本节目标:
- 学习为什么建立虚拟环境
- 学习建立虚拟环境的工具
a. pyenv学习 - 学习 pip 源的配置
- 了解第三方python解释器
pip
目标: 加速第三方包下载速度
aliyun
修改文件
- win:C:\Users\lite\pip\pip.ini
- linux: ~/.pip/pip.conf
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
参考 https://developer.aliyun.com/mirror/pypi?spm=a2c6h.13651102.0.0.3e221b11Yi8xpA
pyenv
为什么要配置 pyenv?
目标: 为了用户应用与系统应用隔离(用户程序不会破坏系统环境)
依赖
安装使用git
# yum install git -y
Python安装依赖
# yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
创建用户python
# useradd python
安装
使用python用户登录系统,使用 pyenv-installer 自动安装脚本安装 pyenv
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
使用缓存方式安装
在~/.pyenv/cache目录下(如果目录不存在,就自己创建)下载 python 3.5.3 源码包
运行命令
$ pyenv install 3.5.3 -v
配置
在python用户的~/.bash_profile中追加
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
$ source ~/.bash_profile
使用
pyenv 命令
$ pyenv
$ pyenv global # 影响全局
$ pyenv local # 影响本地
$ pyenv shell # 影响会话
$ pyenv help install
列出所有可用版本
$ pyenv install --list
安装指定版本
$ pyenv install 3.5.3
$ pyenv versions
设置Python版本
$ pyenv global 3.5.3
切记,这里用global是因为是在非root用户python用户下
如果是root用户安装,请不要使用global,否则影响太大
使用pyenv local设置从当前工作目录开始向下递归都继承这个设置。
pyenv shell只作用于当前会话
$ pyenv shell system
Virtualenv
插件,在plugins/pyenv-virtualenv
$ pyenv virtualenv 3.6.1 magedu361
创建出一个3.6.1版本的独立空间。
$ pyenv versions
- system (set by /home/python/.pyenv/version)
3.5.3
3.6.1
3.6.1/envs/magedu361
magedu361
真实目录在.pyenv/versions/
$ mkdir works/magedu361 -p
[python@node ~]$ cd works/magedu361/
[python@node magedu361]$ pyenv local magedu361
(magedu361) [python@node magedu361]$ cd ..
[python@node works]$ cd magedu361/
第三方解释器
目标:在命令行运行 python,可以进入官方的交互式解释器;运行python命令。第三方解释器,不仅可以运行 python命令;还可以有一些其他命令的增强
常用
- ipython
- ptpython
- bpython
安装ipython
$ pip install ipython
$ ipython
安装 ptpython
$ pip install ptpython
$ ptpython
安装 bpython
$ pip install bpython
$ bpython
图怪兽_dac48fa16229c31495ebfa79b1e0e27c_79240.jpg
网友评论