使用 Miniconda 搭建 Python 环境, 简单通用

本文以 macOS 系统搭建 Python 3.7 开发环境为例进行介绍, 同样也适用于 Linux 和 Windows, 以及其他 Python 版本. 该方案的优点: 环境隔离, 不与原系统产生冲突; 轻量灵活, 如果不再需要, 可以快速清除.

方案简单概括: 通过 conda 管理 Python 版本, 通过 venv 管理 Python 环境.

安装 conda

这里推荐安装 Miniconda, 而不是 Anaconda, 因为 Miniconda 体积更小, 我们可以自主选择需要安装哪些依赖包.

版本选择: 支持 Python 3.7 的最新版. 如下图所示, 可以看到支持各个平台的安装包, 这里选择 Miniconda3-py37_4.9.2-MacOSX-x86_64.sh.

下载到 /opt 目录下, 并安装到该目录下. 由于 /opt 目录的 owner 一般是 root, 那么在该目录下执行命令, 需要用 sudo; 当然也可以事先修改 owner 为自己.

sudo chown <username>:staff /opt # 不是必须, 但建议修改
cd /opt
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.9.2-MacOSX-x86_64.sh
chmod a+x Miniconda3-py37_4.9.2-MacOSX-x86_64.sh
./Miniconda3-py37_4.9.2-MacOSX-x86_64.sh
# 安装目录手动设置为 /opt/miniconda3

安装完成, 选择初始化

installation finished.
Do you wish the installer to initialize Miniconda3
by running conda init? [yes|no]
[yes] >>> yes
no change     /opt/miniconda3/condabin/conda
no change     /opt/miniconda3/bin/conda
no change     /opt/miniconda3/bin/conda-env
no change     /opt/miniconda3/bin/activate
no change     /opt/miniconda3/bin/deactivate
no change     /opt/miniconda3/etc/profile.d/conda.sh
no change     /opt/miniconda3/etc/fish/conf.d/conda.fish
no change     /opt/miniconda3/shell/condabin/Conda.psm1
no change     /opt/miniconda3/shell/condabin/conda-hook.ps1
no change     /opt/miniconda3/lib/python3.7/site-packages/xontrib/conda.xsh
no change     /opt/miniconda3/etc/profile.d/conda.csh
modified      /Users/henry/.zshrc

==> For changes to take effect, close and re-open your current shell. <==

If you'd prefer that conda's base environment not be activated on startup,
   set the auto_activate_base parameter to false:

conda config --set auto_activate_base false

Thank you for installing Miniconda3!

验证是否安装成功, 打开新的终端窗口, 看到有 (base) 字符, 如下图所示, 说明当前窗口, 已经激活了 base 环境. (如上面的安装信息显示, 默认会自动激活 base 环境)

以上命令输出信息说明 conda 和 Python 3.7.9 都已安装成功. 如果想默认不自动激活 base 环境, 可以执行

conda config --set auto_activate_base false

这时会新增文件 ~/.condarc, 写入如下配置信息. (等效于手动修改该文件)

auto_activate_base: true

通过 conda 管理 Python 版本

从上面还可以看到, 安装完 Miniconda3 以后, 默认只有 base 环境, 如果还想手动安装别的环境, 比如 Python 3.8, 本小节介绍一下方法, 没有这个需求的同学可以直接跳过.

在执行命令之前, 先参照阿里 Anaconda 镜像文档, 配置一下代理, 这样会让接下来的操作更高效! 我配置完以后, ~/.condarc 完整内容如下.

auto_activate_base: false
channels:
  - defaults
show_channel_urls: true
default_channels:
  - http://mirrors.aliyun.com/anaconda/pkgs/main
  - http://mirrors.aliyun.com/anaconda/pkgs/r
  - http://mirrors.aliyun.com/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.aliyun.com/anaconda/cloud
  msys2: http://mirrors.aliyun.com/anaconda/cloud
  bioconda: http://mirrors.aliyun.com/anaconda/cloud
  menpo: http://mirrors.aliyun.com/anaconda/cloud
  pytorch: http://mirrors.aliyun.com/anaconda/cloud
  simpleitk: http://mirrors.aliyun.com/anaconda/cloud

接下来, 创建名为 py38 的 Python 环境, 命令如下

conda create -n py38 python=3.8.5

测试是否生效

退出环境, 删除环境

conda deactivate
conda remove -n py38 --all

通过 venv 管理 Python 环境

我是将虚拟环境安装在 /usr/local/lib/python3 目录下的 (手动新建, 并确保 owner 是自己)

cd /usr/local/lib/python3
conda activate base
python -m venv venv-py37-tf2
source venv-py37-tf2/bin/activate
pip3 install -U pip 'setuptools<42' wheel
# 接着安装需要的依赖包即可

为了在 PyCharm 中使用上述环境, 按如下方式配置即可.

为什么选择 Python 3.7? Python 3.8 不支持 TensorFlow 1.x; Python 3.7 引入了新模块 dataclasses, 推荐使用.

参考资料

  • Anaconda镜像
  • CentOS 7安装conda并配置环境
  • CentOS配置Anaconda环境


相关推荐

  • Spring Boot 整合 Socket 实战案例 ,实现 单点发送、广播群发,1对1,1对多
  • 你的头发一根都不许掉!这款变态洗发皂,7天发量暴增,20天浓密乌黑!!
  • 马斯克:微软ChatGPT搜索关服!
  • 盘点全网下载量Top100的Python库
  • Transformer详解(附代码)
  • 在 Java 中初始化 List 的五种方法
  • Spring Cloud 中 7 种负载均衡策略!
  • SpringBoot防止接口恶意刷新和暴力请求
  • Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...
  • 以小见大,彻底理解 cookie,session,token 之间的关系,通俗易懂
  • 全网最详细的 SpringBoot + Druid DataSource 实现监控 MySQL 性能
  • 2023 MySQL 与 PostgreSQL 之最新对比
  • 独家丨李志飞将在大模型领域创业,做中国的 OpenAI
  • 一批信仰 AGI 的年轻人,填补了中国 AI 大模型创业公司的空白
  • 这段音频火爆外网!文字、图片一键生成逼真音效,音频界AIGC来了
  • 复旦大学自然语言处理实验室《自然语言处理导论》 网络初版发布
  • SpringBoot 中使用 spring-retry 轻松解决重试
  • 雄安购房条件之一是北京户口;男子抢劫156元后藏进山洞14年;丈夫泼妻子硫酸仅被行拘10日......|酷玩日爆
  • 兄弟情才是真“塑料” | 每日一冷
  • 王毅在欧洲,释放出强烈信号!