)
DeepChem 依赖环境全解硬性要求与软性依赖清单requirements.rst 实践指南【免费下载链接】deepchemDemocratizing Deep-Learning for Drug Discovery, Quantum Chemistry, Materials Science and Biology项目地址: https://gitcode.com/GitHub_Trending/de/deepchemDeepChem 是一个面向药物发现、量子化学、材料科学与生物学的深度学习开源框架。在安装或二次开发 DeepChem 之前理解其官方文档requirements.rst所定义的依赖体系至关重要——它把依赖明确划分为任何情况下都必须安装的硬性要求与按需启用特定功能模块的软性要求两级。读完本文你将掌握 DeepChem 的完整依赖图谱、每个软性依赖被哪些具体模块引用、各深度学习框架TensorFlow / PyTorch / JAX的版本配套关系以及如何根据使用场景精准选择安装方式。一、硬性要求Hard Requirements任何环境都不可缺失根据 requirements.rst 的定义DeepChem官方支持 Python 3.8 至 3.10并在此基础上强制要求以下 6 个基础科学计算包包名作用领域joblib轻量级流水线化与并行计算支撑数据处理流程NumPy多维数组与数值计算基础pandas表格数据与数据集读写scikit-learn经典机器学习模型、指标与交叉验证SymPy符号数学计算SciPy科学计算、优化与统计工具这些依赖可以在仓库根目录的 setup.py 中得到源码级印证。其install_requires字段声明为install_requires[ joblib, numpy2, pandas, scikit-learn, sympy, scipy1.10.1, rdkit, ],注意两个细节numpy2的版本上限约束当前仓库对 NumPy 的上限做了硬性锁定这与requirements/env_common.yml中numpy1.26、pymatgen2024注释明确说明新版 pymatgen 需要numpy1.26等约束一致核心原因是避免 NumPy 2.x 的 ABI 变化破坏既有科学计算生态。rdkit实际进入了硬性安装列表虽然官方文档把 RDKit 列入软性要求并标注我们推荐你安装Many modules但 setup.py 已经将rdkit提升为默认安装依赖可见其在分子表征与化学信息学管线中的基础地位。Python 版本范围存在差异requirements.rst 声明支持 Python 3.8–3.10而 setup.py 的python_requires3.7,3.13与classifiers中列出的 3.8–3.11 则更为宽泛——文档描述的是官方正式支持的保守版本区间安装时以你的实际解释器版本为准。二、软性要求Soft Requirements按功能模块按需启用软性要求是 DeepChem 依赖设计中最具特色的部分不会默认安装但一旦使用到对应功能模块就会触发 ImportError。官方文档以一张大表明确了包名 → 版本 → 使用位置dc 为 deepchem 的缩写的完整映射下面将其完整继承并补充仓库源码佐证。包名建议版本使用位置模块BioPythonlatestdc.utils.genomics_utils基因组学工具Deep Graph Library0.5.xdc.feat.graph_data、dc.models.torch_models图数据结构与图神经网络DGL-LifeSci0.2.xdc.models.torch_models生命科学图模型HuggingFace TransformersNot Testingdc.feat.smiles_tokenizerSMILES 序列分词HuggingFace Tokenizerslatestdc.feat.HuggingFaceVocabularyBuilder词表构建LightGBMlatestdc.models.gbdt_models梯度提升树模型matminerlatestdc.feat.material_featurizers材料科学特征化MDTrajlatestdc.utils.pdbqt_utils分子动力学轨迹处理Mol2veclatestdc.utils.molecule_featurizers分子词向量Mordredlatestdc.utils.molecule_featurizers分子描述符计算NetworkXlatestdc.utils.rdkit_utils图算法OpenAI GymNot Testingdc.rl强化学习环境OpenMMlatestdc.utils.rdkit_utils分子力场模拟PDBFixerlatestdc.utils.rdkit_utilsPDB 结构修复Pillowlatestdc.data.data_loader、dc.trans.transformers图像加载与变换PubChemPylatestdc.feat.molecule_featurizersPubChem 数据查询pyGPGOlatestdc.hyper.gaussian_process高斯过程超参优化Pymatgenlatestdc.feat.material_featurizers材料结构分析PyTorch2.2.1dc.models.torch_modelsPyTorch 后端模型PyTorch Geometriclatest配 PyTorch 2.2.1dc.feat.graph_data、dc.models.torch_modelsRDKitlatest众多模块官方推荐必装simdnalatestdc.metrics.genomic_metrics、dc.molnet.dnasimDNA 模拟TensorFlow2.15dc.modelsTensorFlow 后端模型Tensorflow Probability0.23.xdc.rl概率编程Weights BiasesNot Testingdc.models.keras_model、dc.models.callbacks实验跟踪XGBoostlatestdc.models.gbdt_models梯度提升树模型Tensorflow Addonslatestdc.models.optimizersTF 附加优化器pySCFlatestdc.models.torch_models.ferminet量子化学自洽场计算pysamlatestdc.feat.bio_seq_featurizer、dc.models.data_loader测序文件解析pylibxclatestdc.utils.dft_utils.api.getxc、dc.utils.dft_utils.xc.libxc_wrapper交换关联泛函dqclibslatestdc.utils.dft_utils.hamilton.intor.utils微分量子化学库basis-set-exchangelatestdeepchem.utils.dft_utils.api.loadbasis基组下载Not Testing 的含义表中HuggingFace Transformers、OpenAI Gym、Weights Biases三行的版本标注为Not Testing表示 DeepChem 的 CI 测试并未对这几个包的固定版本进行回归验证——它们可以被安装使用但官方不承诺在特定版本下通过测试。使用这类依赖时建议自行验证版本兼容性。三、深度学习后端的三条主线TF / Torch / JAX软性要求中最核心的是深度学习框架的选择。文档明确给出了各框架的版本锚点而 setup.py 的extras_require则把三者打包成了可一键安装的 extraextras { jax: [jax0.4.30, jaxlib0.4.30, dm-haiku0.0.13, optax], torch: [ torch2.2.1, torchvision, pytorch-lightning, dgl2.2.1, dgllife ], tensorflow: [ tensorflow, tensorflow_probability, tensorflow_addons; python_version 3.12, ], dqc: [dqc, xitorch, torch2.2.1, pylibxc2] }1. TensorFlow 主线版本历史约束文档特别注明了 TensorFlow 的版本演变关系deepchem2.4.0依赖TensorFlow v22.3.x 起deepchem2.4.0依赖TensorFlow v11.14当前仓库配套版本为TensorFlow 2.15同时需要Tensorflow Probability 0.23.x与Tensorflow Addons。仓库中 requirements/tensorflow/env_tensorflow.cpu.yml 给出了更保守的 CPU 环境锁定tensorflow2.16、tensorflow_probability0.24、tensorflow_addons。注意 setup.py 中对tensorflow_addons加了python_version 3.12的条件标记说明在 Python 3.12 上该附加包可能不可用。2. PyTorch 主线2.2.1 图学习全家桶文档将 PyTorch 版本锚定为2.2.1并搭配PyTorch Geometriclatest需与 PyTorch 2.2.1 配套。仓库的 requirements/torch/env_torch.cpu.yml 展示了完整的 CPU 安装组合从中可以看到torch2.2.1cpu从 PyTorch 官方 CPU wheel 源安装dgl与torch-geometric分别来自 DGL 与 PyG 的配套 wheel 源如torch-cluster1.6.3pt22cpu这类带pt22cpu后缀的版本必须与 torch 2.2.1cpu 严格对应额外包含lightningPyTorch Lightning、pydantic还通过 git 拉取dqclibs、libxc并安装basis-set-exchange、pyscf——这些正是软性要求表中 DFT 模块dc.utils.dft_utils的运行时依赖。3. JAX 主线0.4.30 固定版本文档未给 JAX 标注具体版本但 setup.py 与 requirements/jax/env_jax.cpu.yml 均锁定为jax0.4.30、jaxlib0.4.30并搭配dm-haiku0.0.13与optax。需要特别注意的是Windows 不支持 JAX文档明确说明 jax 未在 Windows 官方支持JAX 的 GPU 支持需要单独参考 JAX 官方的 CUDA 安装指引。四、从依赖表反推功能模块的加载方式软性依赖表本质上是一张功能 → 依赖的索引图。以几个典型场景为例说明如何解读想做图神经网络需要同时安装Deep Graph Library、DGL-LifeSci、PyTorch或 TensorFlow与PyTorch Geometric对应源码位置为dc.feat.graph_data与dc.models.torch_models想做材料科学matminer与Pymatgen支撑dc.feat.material_featurizers仓库中对应的实现见 deepchem/feat/material_featurizers包含 cgcnn_featurizer、sine_coulomb_matrix 等想做基因组学 / DNA 模拟BioPython服务于dc.utils.genomics_utilssimdna服务于dc.metrics.genomic_metrics与dc.molnet.dnasim想做 DFT 量子化学需要pySCF、pylibxc、dqclibs、basis-set-exchange这一整组依赖对应dc.utils.dft_utils子包api、xc、hamilton 等子模块在 deepchem/utils/dft_utils 下想做强化学习OpenAI Gym、Tensorflow Probabilitydc.rl模块仓库实现见 deepchem/rl含 a2c.py、ppo.py。五、如何按场景安装与依赖表配套的安装命令理解了硬性/软性依赖的分层之后安装策略就非常清晰了。参考同目录下的 installation.rst官方提供了与依赖体系严格对应的安装方式1. 仅使用通用工具推荐起步只依赖硬性要求即可使用 MolNet 数据集、特征化器、数据集类等不需要任何深度学习后端pip install deepchem # 稳定版 pip install --pre deepchem # nightly 版对应仓库 HEAD2. 按深度学习后端选择 extrapip install --pre deepchem[tensorflow] # TensorFlow 后端dc.models pip install --pre deepchem[torch] # PyTorch 后端dc.models.torch_models pip install --pre deepchem[jax] # JAX 后端注意在zsh中[ ]会被当作通配符需要加引号转义pip install --pre deepchem[jax]3. GPU 支持的前提条件文档明确要求若需 GPU 支持先安装好 CUDA再安装对应的深度学习框架最后安装 DeepChem。具体而言TensorFlow——只需 CUDA 即可PyTorch——参照 PyTorch 官方本地安装指引选择 CUDA 版本JAX——参照 JAX 官方 pip 安装指引选择 GPUCUDA版本。4. 源码安装 软依赖一键补齐从源码安装时installation.rst 提供了两种路径conda 脚本安装推荐自动创建名为deepchem的环境git clone https://gitcode.com/GitHub_Trending/de/deepchem.git cd deepchem source scripts/install_deepchem_conda.sh 3.10 cpu # 或 gpu仅支持 CUDA 11.8 conda activate deepchem pip install -e . pytest -m not slow deepchem # 可选运行测试轻量级源码安装手动创建环境conda create --name deepchem python3.10 conda activate deepchem pip install -e . pip install -e .[tensorflow] # 按需添加 pip install -e .[torch] # 按需添加 pip install -e .[jax] # 按需添加至于软性要求中零散的工具包可以按需即装用到哪个模块装哪个也可以一次性通过仓库的 conda 环境文件 requirements/env_common.yml 全部装齐——该文件聚合了 biopython、dgllife、lightgbm、matminer、mordred、networkx、pillow、pubchempy、pyGPGO、pymatgen、simdna、transformers、tokenizers、xgboost、gensimmol2vec 依赖等软依赖并附带了rdkit2023.09.5、scipy1.12.0等版本锁定。六、版本配套速查与常见坑位综合 requirements.rst、setup.py 与 requirements/ 目录下的环境文件整理出以下关键版本锚点项目版本锚点约束来源Python3.8–3.10官方支持requirements.rstNumPy2setup.py、1.26env_common避免 NumPy 2.x ABI 变更SciPy1.10.1、env_common 锁1.12.0与 NumPy 版本联动RDKit2023.09.5env_common化学信息学核心TensorFlow2.15文档/2.16env需配合 TFP 0.23.xPyTorch2.2.1需配合 PyG 与 dgl2.2.1JAX / JAXlib0.4.30需配合 dm-haiku 0.0.13Transformers4.51.3env_commonSMILES 分词Pymatgen2024依赖 NumPy 版本实践中最容易踩的坑集中在三点NumPy 版本被科学计算生态反复拉扯建议严格遵循环境文件锁定、PyG 的轮子必须与 torch 版本精确匹配如torch-cluster1.6.3pt22cpu对应torch2.2.1cpu、以及TensorFlow 与 PyTorch 同环境混装时的依赖冲突——官方因此提供了 torch / tensorflow / jax 三套独立的 conda 环境文件强烈建议按后端分环境管理。结语DeepChem 的依赖体系是其多后端、多功能架构的直接映射6 个硬性依赖撑起数据与科学计算底座30 个软性依赖分别服务于图神经网络、材料科学、基因组学、量子化学、强化学习等细分领域而 TensorFlow / PyTorch / JAX 三线并行的 extra 机制则让用户按需选择模型后端。无论是快速体验还是深度开发先对照本文的依赖表梳理需求再选择对应的安装命令即可避免绝大多数环境层面的报错。更完整的安装细节可进一步查阅 installation.rst 与 requirements/ 目录下的各环境文件。【免费下载链接】deepchemDemocratizing Deep-Learning for Drug Discovery, Quantum Chemistry, Materials Science and Biology项目地址: https://gitcode.com/GitHub_Trending/de/deepchem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考