学习 python 首先需要搭建一套 Python 运行环境, 在 UNIX/LINUX 下因为Python本身就是系统不可缺少的一个组件, 而很多时候我系统自带 Python 的版本不能满足我们的需求, 我们就需要安装新版本的 Python.
很多系统自带的程序可能依赖着自带的 Python, 如果对其进行更新很有可能到时系统有些服务/应用 不可用, 所以为了保险起见, 我们一般不对系统自带的 Python 进行修改/更新.
我们需要在一台主机上安装多版本的 Python, 可以使用 Pyenv 来管理 Python 的版本.
pyenv 是一个 bash 编写的程序, 能够轻松的切换 python 版本. 基于 rbenv/rubybuild 修改而来.
pyenv 相关资料
pyenv 主要有几个常用的功能
- 安装
Python解释器 - 管理
Python版本 - 管理
Python虚拟环境(相当于一个独立的版本)
在 bash/zsh 中可以通过 下面这条命令安装
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
通过这条命令会安装 pyenv 以及 pyenv-virtualenv... 插件, 我们也可以通过 git clone https://github.com/yyuu/pyenv.git 到本地来自行安装.
安装完后会提示 将几条参数添加到 ~/bashrc 中
# 这只是我自己的配置, 请按提示操作
export PATH="/Users/anyisalin/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"pyenv 子命令, 我们可以通过 pyenv commands 来查看所有的子命令.
anyisalin@MacBook-Pro:~|⇒ pyenv commands
--version
activate
commands
completions
deactivate
doctor
exec
global
help
hooks
init
install
installer
local
offline-installer
prefix
rehash
root
shell
shims
uninstall
update
version
version-file
version-file-read
version-file-write
version-name
version-origin
versions
virtualenv
virtualenv-delete
virtualenv-init
virtualenv-prefix
virtualenvs
whence
which常见命令介绍
local: 设置当前目录及其子目录的python版本global: 设置全局python版本 (建议不要使用, 风险太大)rehash: 一般在装完python的包之后, 都要做rehashinstall: 安装指定的python版本uninstall: 卸载指定的python版本version: 查看当前环境python版本versions: 查看当前系统上所有pyenv可用的python版本virtualenv: 新建一个独立的virtualenv
使用
1. install python
anyisalin@MacBook-Pro:~|⇒ pyenv install 3.5.1 #通过指定一个 python 的版本来进行安装.
2. show python versions
anyisalin@MacBook-Pro:~|⇒ pyenv versions #查看当前可用的所有 python 版本
system
3.5.1
3.5.2
3.5.2/envs/python_learn
* python_learn (set by /Users/anyisalin/.python-version)3. show current python version
anyisalin@MacBook-Pro:~|⇒ pyenv version #查看当前使用的 python 版本, 我这里使用的是 virtualenv, 所以并不能直接看到解释器的版本
python_learn (set by /Users/anyisalin/.python-version)4. change current python version
anyisalin@MacBook-Pro:~|⇒ pyenv local 3.5.2 #修改当前环境的 python 版本为3.5.2
anyisalin@MacBook-Pro:~|⇒ pyenv version
3.5.2 (set by /Users/anyisalin/.python-version)
验证:
anyisalin@MacBook-Pro:~|⇒ pwd #当前在 ~ 目录
/Users/anyisalin
anyisalin@MacBook-Pro:~|⇒ python -V #python 版本为 3.5.2
Python 3.5.2
anyisalin@MacBook-Pro:~|⇒ cd / #切换到 / 目录
anyisalin@MacBook-Pro:/|⇒ python -V #python 版本为 2.7.10, 是 system 自带的版本
Python 2.7.10关于 virtualenv
由于 python 的包依赖是基于 site 的, 也就意味着一台主机的 python 依赖是共享的, 但是这样其实很不科学, 在很多时候, 可能有多个项目依赖于某个包的不同版本, 这种时候, 我们就需要 virtualenv 来构建一套隔离环境.
5. virtualenv operations
anyisalin@MacBook-Pro:~|⇒ pyenv virtualenv 3.5.2 testenv #新建一个 virtualenv
命令使用方法: pyenv virtualenv $python_version $env_name
创建验证:
anyisalin@MacBook-Pro:~|⇒ pyenv versions
system
3.5.1
* 3.5.2 (set by /Users/anyisalin/.python-version)
3.5.2/envs/python_learn
3.5.2/envs/testenv #可以看到创建的 virtualenv
python_learn
testenv #其实是上一条的别名
anyisalin@MacBook-Pro:~|⇒ pyenv local testenv #切换到 virtualenv
anyisalin@MacBook-Pro:~|⇒ pyenv version
testenv (set by /Users/anyisalin/.python-version)
anyisalin@MacBook-Pro:~|⇒ pyenv uninstall testenv #卸载/删除 pyenvipython 提供了非常强大的 Python Shell, 支持补全, 还可以使用基于 web 的 notebook/jupyter notebook 来记录笔记, 支持交互式可视化的GUI工具包的使用,
我们使用 python 的包管理工具 pip 来安装 ipython 和 jupyter
anyisalin@MacBook-Pro:~|⇒ pip install ipython jupyter速度慢可以使用国内镜像
## pip 配置使用国内镜像
anyisalin@MacBook-Pro:~|⇒ [ -d ~/.pip ] || mkdir ~/.pip
anyisalin@MacBook-Pro:~|⇒ cat >> ~/.pip/pip.conf << EOF
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
EOF
anyisalin@MacBook-Pro:~|⇒ ipython #输入 ipython 即可进入 python shell 环境
Python 3.5.2 (default, Oct 14 2016, 23:35:05)
Type "copyright", "credits" or "license" for more information.
IPython 5.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]:
anyisalin@MacBook-Pro:~|⇒ jupyter-notebook #使用此命令即可进入 jupyter 的 web 界面
看个人喜好, 推荐使用 pycharm, 请支持正版或使用社区版.
