我试图使用以下命令安装conda环境:
conda env create -f devenv.yaml我的.yaml文件是
name: myname
channels:
- conda-forge
- bioconda
dependencies:
# Package creation and environment management
- conda-build
# Automation control (command line interface, workflow and multi-process management)
- python-dotenv
- click
- snakemake-minimal
- joblib
- numba
# Workspace
- notebook
# Visualization
- plotly
- plotly-orca
- matplotlib
- seaborn
- shap
- openpyxl
- ipywidgets
- tensorboard
# Data manipulation
- numpy
- pandas
- pyarrow
# Functional style tools
- more-itertools
- toolz
# Machine learning
- scikit-learn
- imbalanced-learn
- scikit-image
- statsmodels
- catboost
- hyperopt
- tsfresh
# Deep learning
- pytorch
# code checking and formatting
- pylint
- black
- flake8
- mypy
# Python base
- python
- pip
- pip:我试过更新conda,但没什么用。只是停留在解决环境问题上。
conda版本: 4.11.0 c操作系统: Ubuntu 18.04.5 LTS
完全相同的环境在我的mac上运行得很好,但在那个服务器上就不行了。有什么问题吗?我很感谢你的建议。谢谢。
发布于 2021-12-22 18:02:58
这解决得很好(
),但实际上是一个复杂的解决方案,主要原因是:
欠规格
这个特定的环境规范最终安装了超过300个软件包。而且没有一个是受规范约束的。这是一个巨大的SAT问题需要解决,Conda将努力解决这个问题。曼巴将有助于更快地解决问题。,但是提供额外的约束可以极大地减少解决方案的空间。
至少,指定Python (major.minor),例如python=3.9。这是唯一最有效的约束。
除此之外,将最低需求放在中央包(那些是其他包的依赖项)上可能会有所帮助,比如最低限度的NumPy。
缺乏模块化
我假定名称"devenv“意味着这是一个开发环境。所以,我知道那个人想要所有这些工具都在手边。然而,Conda环境的激活是如此简单,现在大多数IDE工具(Spyder、VSCode、木星)都鼓励基础设施和执行内核的分离。更多地思考环境(强调多元环境)是如何组织和协同工作的,对于拥有一个可持续的、无痛的数据科学工作流程来说,这将是非常重要的。
在我的书中,手头的环境有多个危险信号:
conda-build应该在base中,并且只在base中。snakemake应该在一个专用的环境中notebook (即木星)应该在一个专用的环境中,与nb_conda_kernels一起安装;所有内核环境都需要ipykernel。我可能也会将皮棉/格式化包分开,但这不是什么问题。然而,真正的杀手是snakemake --它只是一个庞大的基础设施,我强烈建议保持这种隔离。
https://stackoverflow.com/questions/70451652
复制相似问题