写过 Python 的读者都知道,Python 发行的版本不少,有的依赖模块还跟版本关联性很强,换句话说,如果某个 Python 项目是引用了 3.4 版本的模块,用该模块的 3.7 版本的话可能是用不了的,必须切回到对应版本下进行开发
如果我们同时在维护多个版本的 Py 项目,那么环境管理将是一件非常困难且繁琐的事
自从用上了 Anaconda,一切都变得香起来。今天介绍一下使用 Anaconda 来管理 Python 的环境,讲一些非常常用却很方便的功能,还没有使用的读者不妨现在就来体验一把它的魅力
下载 Anaconda
https://www.anaconda.com/products/individual
它有一个 GUI 界面,方便快速上手和操作,但今天我只介绍它的命令行操作,谁让咱们是程序员呢,黑乎乎的命令行窗口才是程序员们的最爱
配置国内镜像地址
众所周知,这类大牛软件都是国外开发者搞出来的,国内访问它们的话慢不说,有时候还访问不上,好在大公司像阿里就在国内弄了阿里云镜像,让我们访问镜像仓库就如同访问百度一样快速
通过命令行来添加源
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
我们也可以通过搜索 .condarc
文件来直接修改,这个文件保存了上面命令执行后的配置信息
创建一个 Python 环境
创建多个相互独立的 Python 环境,就像我们自己去官网单独下载 2.7,3.4,3.7 等等版本再来本地安装一遍一样,但是用 conda,这一切就是一行命令搞定
我们创建一个名字为 py3.8 的环境,指定 python 版本为 3.8
conda create -n py3.8 python=3.8
创建完毕后,通过以下命令,可以查看当前所有的 python 环境
conda info -e
# conda environments:
#
base * D:\Tools\Anaconda
py3.6 D:\Tools\Anaconda\envs\py3.6
pyservice D:\Tools\Anaconda\envs\pyservice
python_service D:\Tools\Anaconda\envs\python_service
test1 D:\Tools\Anaconda\envs\test1
切换到环境 test1,使用如下命令
activate test1
(test1) C:\Users\aaa>
这时命令行前面会显示当前 python 环境的名字,表示使用的是这个环境,这样在执行 python 程序时就会使用这个环境来运行
退出当前环境,使用
deactivate test1
删除某个不用的环境
环境不使用时,可以删除,-n 后面跟随要删除的环境名字
conda env remove -n test1
Remove all packages in environment D:\Tools\Anaconda\envs\test1:
查看环境中安装了哪些包
先进入某个环境,使用如上所述的 activate 命令
然后执行
conda list
# packages in environment at D:\Tools\Anaconda\envs\pyservice:
#
# Name Version Build Channel
altgraph 0.17 pypi_0 pypi
certifi 2016.2.28 py36_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
flask 1.1.1 pypi_0 pypi
flask-script 2.0.6 pypi_0 pypi
future 0.18.2 pypi_0 pypi
或者查看该环境中是否安装了 flask
conda list flask
# packages in environment at D:\Tools\Anaconda\envs\pyservice:
#
# Name Version Build Channel
flask 1.1.1 pypi_0 pypi
flask-script 2.0.6 pypi_0 pypi
在环境中安装某个包
一般使用 conda 来安装
去官网先搜索一下想要安装的包 https://anaconda.org/
比如想下载:beautifulsoup4
找到对应版本
点进去即可获取到下载的命令
conda install -c conda-forge beautifulsoup4=4.9.1
或者不指定版本号 4.9.1,则默认安装最新版本
如果用 conda 没有想要的包,则用 pip 来安装
pip install beautifulsoup4
也可以到官网去下载 whl 文件安装(如果通过命令安装特别慢,或者有其他异常的话)
操作方式和上面的 conda 类似,也是先搜索,再选择自己想要的包
然后执行安装命令
pip install %whl文件路径%
升级 conda 自身的版本,则使用
conda update conda
多说一点
有时候我们会把项目中的依赖包生成到一个名字叫做 requirements.txt 的文件中,便于其他人部署开发环境
使用如下命令生成 requirements.txt 文件
pip freeze > requirements.txt
当我们部署新环境时,使用如下命令可以将依赖自动安装
pip install -r requirements.txt
以上