数据治理 | Python 环境冲突烦?环境移植难?我用 Miniconda
目录
一、前言
二、从 Anaconda 到 Miniconda
三、安装 Miniconda
四、Miniconda 管理 Python 包
五、Miniconda 移植 Python 环境
六、结束语
本文共2994个字,阅读大约需要10分钟,欢迎指正!
Part1前言
Python 是不少社科栋梁想要学习的一门编程语言,但许多同学在安装和配置 Python 环境时就遇到各种问题。譬如某个第三方库不支持你的 Python 版本,或者某个库分别依赖另一个库的不同版本,而 Python 只能安装这个被依赖库的某一个版本。
更棘手的是,一些有特殊需求的用户(比如企研的云桌面用户)需要在无网络的虚拟机中部署 Python 并安装各种第三方库(所有第三方库都需要联网才能安装)。为了应对各种环境配置问题,用户们急需一个能够管理 Python 环境的工具。于是,Anaconda 出现了。
Part2从 Anaconda 到 Miniconda
非常多的 Python 入门者会被推荐使用 Anaconda
,它是一个开源的 Python 发行版,提供了包管理和环境管理的功能,还包含了 conda
、Python
等 180 多个科学包及其依赖项,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。许多新手安装 Anaconda 后就可以直接使用 Python 了,这当然很方便,可 Anaconda 是一个完备的套件,安装后体积超过 1 GB空间,运行起来很吃力。而且 Anaconda 中的 Python 包都是预安装的,如果你误用了老版本的 Anaconda,那么安装之后,你的 Python 包(第三方库)可能会是一些远古版本,导致无法使用部分新功能。
为了应对上述情况,Anaconda 的简化版——Miniconda 粉墨登场。它同样还包含 Anaconda 的核心组件 conda
和 Python
,体积却小了几倍(安装包仅几十兆)
讲到这里,我们来总结一下几种常见的 Python 安装方式:
安装方式 | 优点 | 缺点 |
---|---|---|
官网下载 Python 安装包安装 | 干净,占用空间很少 | 需要手动配置环境变量,难以应对环境与环境冲突、包与包冲突、包与环境冲突等 |
安装 Anaconda | 可以应对 Python 环境冲突,预装了常用的包,功能齐全 | 占用空间大、由于预装的包是固定的版本,需要安装较新版本 |
安装 Miniconda | 占用空间较少,可以应对 Python 环境冲突,功能够用 | 没有预装 Python 包,功能不如 Anaconda 齐全 |
另外,Anaconda 拥有图形交互界面以及 Python 开发环境(如Jupyter notebook、Spider等),这对新手很友好,但也是一个巨坑。一方面,如果使用不好会导致你的代码乱成一窝蜂;另一方面,这些自带的开发环境并不优秀,我们可以安装更好用的工具。而 Miniconda 是小巧的,没有图形界面和开发环境,但我们可以在它提供的命令行中使用命令操作(用 Anaconda 也得这么干)。
Part3安装 Miniconda
我们前往 Miniconda 官方网站下载合适的安装包。为了稳定起见,这里下载了 Python 版本为 3.8 的 Miniconda 安装包。
https://docs.conda.io/en/latest/miniconda.html
下载后安装即可,安装过程中根据指引勾选选项即可,中途记得勾选添加环境变量。
安装完成后,可以在 Windows 开始菜单看到 Anaconda prompt(Miniconda)
字样
点击运行它,会弹出类似于命令提示符的窗口。我们输入命令 python
,回车运行,当出现如下图所示字样,代表 Miniconda 安装成功,Python 也已经部署完成。
上图中 (base)
代表当前是默认的 Python 环境。C:\Users\Virtual
表示 Miniconda 安装的路径。Virtual
是笔者的计算机用户名。
Part4Miniconda 管理 Python 包
Miniconda 安装好后,我们就可以使用默认的 python 了。在 Miniconda 的命令窗口中使用 pip install xxx
命令(联网环境下)即可安装需要的包。如果没有安装其他 Python 版本的需要,可以一直使用该默认环境。
但是当我们需要安装另一个版本的 Python,或者想要重新装一个干净的 Python,Miniconda 的版本管理功能就可以派上用场了。我们可以使用它再安装新的 Python 环境,我们可以把除默认环境之外的 Python 环境称为虚拟环境,这些虚拟环境与默认环境之间被 Miniconda 隔离开,彼此不会影响。也不用担心虚拟环境占用过多的空间,因为一个新的虚拟环境仅占用约 100 MB 空间。
下面是 Miniconda 管理 Python 虚拟环境最常用的几个命令。
# 查看所有受 conda 管理的 python 环境,包括默认环境
conda info -e
# 创建新的虚拟环境,比如新建一个 Python 环境,取名“Newpy”, 版本号为 3.9
conda create -n Newpy python=3.9
# 进入、激活虚拟环境
conda activate Newpy
# 退出环境
conda deactivate
# 删除虚拟环境
conda remove -n Newpy --all
掌握以上命令,我们可以在一个计算机中安装不同版本的 Python,为不同的环境安装不同版本的包。这样一来,就可以避免 Python 版本冲突带来的麻烦。
Part5Miniconda 移植 Python 环境
Python 环境移植的使用场景比较多:
换了新电脑,不想重新安装 Python 包了 有人想省事儿,直接用我的 Python 环境 在一台不联网的计算机中安装 Python 和包 ……
这对不会使用 conda 的小伙伴来说可是一件麻烦事儿,但是有了 conda,这件事就变得非常简单了。移植 Python 环境的步骤如下:
在移植环境和被移植环境的电脑中都安装好 Miniconda(安装过程无需联网),在移植环境的电脑中创建 Python 虚拟环境并安装好需要的包。
进入移植环境电脑中 Miniconda 的安装位置并进入
envs
文件夹,进入后即可看到我们创建的虚拟环境的文件夹,如下图所示:将需要移植的虚拟环境文件夹复制到被移植电脑中对应的位置。
在被移植环境的电脑中激活被移植的环境后即可使用
这样就成功移植了 Python 。
Part6结束语
本文阅毕,配置 Python 环境对你来说应该没有什么问题了,但我们还缺一个优秀的开发环境来优雅地进行编程。下期文章我们将会为大家介绍如何(离线)安装使用一款优秀的集成开发环境,并配合 Miniconda 使用不同版本的 Python。
我们将在数据治理板块中推出一系列原创推文,帮助读者搭建一个完整的社科研究数据治理软硬件体系。该板块将涉及以下几个模块(点击标题即可跳转至相应合集):
星标⭐我们不迷路!想要文章及时到,文末“在看”少不了!
点击搜索你感兴趣的内容吧
往期推荐
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
文 | 两米哥
欢迎扫描👇二维码添加关注