python - 使用 Anaconda,从长远来看,杂乱的基础根是否会成为问题?
问题描述
我通常使用 Python 进行数字运算,但最近决定学习该语言的更多开发方面(例如开发应用程序)。
我最近才意识到您可以在 Anaconda 中创建环境(通过那个“环境”选项卡),而之前只是 pip 将所有内容安装到我的基本根环境中。
进一步阅读,有些人似乎不建议将某些东西安装到基本根目录上。继续使用可能混乱的基础根环境是否会出现问题?它会潜在地影响其他环境,还是它们完全分开?
如果这将是一个问题,我该如何清理我的基本根环境?
解决方案
我认为你的想法完全正确。
我会使用 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
推荐阅读
- r - 根据R中两列中的条件选择所有行(每行多个案例)
- bash - RTNETLINK 回答:设备或资源繁忙
- python - 当我尝试 unpickle 文件时,我在 Python 2.7.9 中不断收到 EOF 错误
- react-redux - react-redux useSelector 告诉“Uncaught TypeError: Object(...) is not a function”
- react-admin - 我可以在 ReactAdmin 应用栏中显示过滤器设置吗?
- r - dplyr 不会安装在我的 R 中。这是怎么回事?
- python-3.x - 使用 Raptor 比较两个 RDF/XML 文件并产生差异?
- javascript - 如何更改对象键值?
- c++ - 制作数组时调用了太多次析构函数
- php - 在服务器上的两个站点/帐户之间复制文件的问题