首页 > 解决方案 > 使用 Anaconda,从长远来看,杂乱的基础根是否会成为问题?

问题描述

我通常使用 Python 进行数字运算,但最近决定学习该语言的更多开发方面(例如开发应用程序)。

我最近才意识到您可以在 Anaconda 中创建环境(通过那个“环境”选项卡),而之前只是 pip 将所有内容安装到我的基本根环境中。

进一步阅读,有些人似乎不建议将某些东西安装到基本根目录上。继续使用可能混乱的基础根环境是否会出现问题?它会潜在地影响其他环境,还是它们完全分开?

如果这将是一个问题,我该如何清理我的基本根环境?

标签: pythonanacondaconda

解决方案


我认为你的想法完全正确。

我会使用 Miniconda 从头开始​​安装。

这是最初的痛苦,但我会删除您当前 Anaconda 安装的所有痕迹,并从Miniconda进行全新安装。然后总是根据需要创建新环境,例如每个项目一个,并且几乎从不接触您的根环境。我通常在我的根目录中安装构建项目所需的软件包。

生成环境文件

Anaconda 非常适合确保可重现的构建。您可以在文件中列出项目的需求,environment.yml并随时从中恢复。

例如,我的一个开头如下。我尝试手动列出我的依赖项。要从这个环境构建,我可以运行conda env create --force --file kaleforge.yml.

顺便说一句,我强烈建议使用 Conda-Forge 而不是默认频道!它只是有更多的包。您不太可能发生版本冲突或版本相互覆盖。

name: kaleforge
channels:
  - conda-forge

dependencies:

  # @ python
 - python>=3.7

  # @ framework
 - pip>=20.0

  # @ test
 - hypothesis>=5.8
 - pytest>=5.4

  # interactive
 - jupyterlab>=2.0
 - ipympl>=0.5.6

  # @ strict
 - rdkit>=2020.03
 - cryptography>=2.8,<3.0
 - cycler>=0.10.0,<1.0
 - h5py>=2.10,<3.0
 - imageio>=2.8,<3.0
 - joblib>=0.14,<1.0
 - matplotlib>=3.2,<4.0
 - natsort>=7.0,<8.0
 - numba>=0.48,<1.0
 - numpy>=1.18,<1.19
 - pandas>=1.0.3,<2.0
 - pillow>=7.0,<8.0
 - scipy>=1.4,<2.0
 - scikit-image>=0.16,<1.0
 - scikit-learn>=0.21.0,<1.0
 # @ pip 
 - pip
    - librosa>=0.7.2,<1.0
    # - put other packages here that are only on PyPi

推荐阅读