你不知道的Python环境管理技巧

电子说

1.3w人已加入

描述

我们经常会遇到下面这样的场景:

同时在系统安装多个版本的 Python,例如同时安装Python2和Python3

由于 A 项目和 B 项目使用的Python包版本不一致,在同一个环境中无法保证两个项目同时都能正常运行

这时候,我们就该考虑使用虚拟环境了,虚拟环境可以为不同的项目创建相互独立的环境,互不影响

Python 中的环境管理工具有很多,例如virtualenv、pyenv等,但个人更喜欢用conda。借助 conda,我们就能轻松的应对以上问题啦!

使用 conda 过程中,可以在命令行中使用-h参数,打开帮助文档

# 查看conda帮助文档 conda -h # 查看conda环境管理命令帮助文档 conda env -h

准备工作:配置 conda 镜像

默认的 conda 源下载速度比较慢,需要先将 conda 源设置为国内镜像

# 添加 Anaconda 的 TUNA 镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ # 设置搜索时显示通道地址 conda config --set show_channel_urls yes

列出当前所有的环境

conda info -e

* 表示当前激活的环境

创建一个虚拟环境

conda create -n env_name python=3.6 pandas=0.21

以上命令创建了一个名为 env_name 的新环境的同时安装了 Python3.6 和 pandas

激活虚拟环境

# Windows系统 activate env_name # Linux和Mac系统 source activate env_name

删除虚拟环境

conda remove -n env_name

复制某个环境

如果环境依赖包太多,从头开始安装环境,会比较耗时,我们可以复制一个已有的环境,来创建新环境

conda create -n new_env_name --clone old_env_name

分享环境

通常我们会遇到以下场景:

更换电脑、更换系统后快速恢复原来的环境

代码写好以后,通常需要交给别人部署,需要告诉部署人员自己的环境和 Python 依赖信息

在另外一台电脑运行我们的应用程序

这时候 conda 提供的分享环境功能就派上用场了,能够很方便的将我们的环境信息快速的分享出来,操作步骤如下:

首先我们需要先激活想分享的环境

# Windows activate env_name # Linux/Mac source activate env_name

然后通过 export 命令导出环境配置

conda env export > environment.yml

导出的环境配置

打开environment.yml文件,我们就能看到上图中的环境信息

最后,通过以下命令就可以重新安装一个相同的环境

conda env create -f environment.yml

当然,conda 也可以像pip一样用于包管理的,这里就不详细展开了,感兴趣的同学可以通过conda -h命令了解详细用法,

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分