Hi, thank you for open-sourcing ProStab.
I encountered several environment reproduction issues when trying to install the dependencies from environment.yml. After investigating the dependency graph and comparing it with the currently available packages, I found a few problems that may prevent users from reproducing the environment successfully.
1. PyTorch / PyTorch Lightning version incompatibility
The environment specifies:
torch==1.13.1
pytorch-lightning==1.7.3
However, according to the PyTorch Lightning compatibility matrix and multiple community reports, Lightning 1.7.x was primarily developed and tested with older PyTorch releases (around the PyTorch 1.9–1.12 generation). Using Lightning 1.7.3 together with Torch 1.13.1 can introduce dependency conflicts and runtime incompatibilities.
In our reproduction attempts, dependency resolution frequently failed around the Torch ecosystem.
It would be helpful to either:
- provide a verified compatibility matrix,
- pin a fully tested combination of Torch and Lightning versions,
- or update the environment file to use a mutually compatible stack.
2. fair-esm==2.0.1 does not exist on PyPI
The environment file contains:
However, the latest official release currently available on PyPI is:
and version 2.0.1 cannot be installed directly from PyPI. The dependency specification should probably be updated to:
or installation instructions should clarify the source of version 2.0.1 if it was obtained elsewhere.
3. Hard-coded environment prefix
The environment file contains:
prefix: /home/xy_th/miniconda3/envs/surface
This path is machine-specific and causes issues during environment creation on other systems.
It would be better to:
- remove the
prefix field entirely, or
- replace it with a placeholder path.
4. Absolute paths in the repository
During code inspection, we noticed that some scripts appear to rely on absolute paths rather than repository-relative paths.
This may cause failures when users run the project in different directory structures.
Using:
or repository-relative paths would improve portability and reproducibility.
5. Protobuf dependency conflict in environment solving
When creating the environment, Conda reported dependency conflicts involving:
libprotobuf=3.16.0
torchvision=0.14.1
torch=1.13.1
Specifically, PyTorch 1.13.1 requires a newer protobuf version than the one pinned in the environment file, causing the solver to fail.
Removing the explicit protobuf pin or updating it to a compatible version may resolve this issue.
6. Reproducibility concerns caused by strict low-level package pinning
The environment file pins many low-level system libraries, for example:
libgcc
libstdcxx
libgfortran
boost
boost-cpp
These versions appear to originate from the author's local environment export rather than project-level requirements.
Such strict pinning significantly increases the likelihood of Conda solver failures across platforms and distributions.
It may be preferable to keep only project-critical dependencies and allow Conda to resolve low-level system libraries automatically.
7. Potential issues with PyG ecosystem packages
The environment includes packages such as:
pytorch-scatter
pytorch-cluster
These packages are highly sensitive to the exact PyTorch/CUDA combination and are a common source of installation failures.
Providing installation instructions based on the official PyG wheel index (instead of strict Conda pinning) may improve reproducibility.
Summary
The main blockers we encountered were:
- Torch / Lightning version mismatch.
- Non-existent
fair-esm==2.0.1.
- Hard-coded environment prefix.
- Absolute paths in some scripts.
- Protobuf conflicts preventing Conda solving.
- Excessive low-level dependency pinning.
- PyG package installation fragility.
Thank you again for sharing this project. We hope these observations help improve the reproducibility of ProStab for future users.
Hi, thank you for open-sourcing ProStab.
I encountered several environment reproduction issues when trying to install the dependencies from
environment.yml. After investigating the dependency graph and comparing it with the currently available packages, I found a few problems that may prevent users from reproducing the environment successfully.1. PyTorch / PyTorch Lightning version incompatibility
The environment specifies:
However, according to the PyTorch Lightning compatibility matrix and multiple community reports, Lightning 1.7.x was primarily developed and tested with older PyTorch releases (around the PyTorch 1.9–1.12 generation). Using Lightning 1.7.3 together with Torch 1.13.1 can introduce dependency conflicts and runtime incompatibilities.
In our reproduction attempts, dependency resolution frequently failed around the Torch ecosystem.
It would be helpful to either:
2.
fair-esm==2.0.1does not exist on PyPIThe environment file contains:
fair-esm==2.0.1However, the latest official release currently available on PyPI is:
and version
2.0.1cannot be installed directly from PyPI. The dependency specification should probably be updated to:fair-esm==2.0.0or installation instructions should clarify the source of version 2.0.1 if it was obtained elsewhere.
3. Hard-coded environment prefix
The environment file contains:
This path is machine-specific and causes issues during environment creation on other systems.
It would be better to:
prefixfield entirely, or4. Absolute paths in the repository
During code inspection, we noticed that some scripts appear to rely on absolute paths rather than repository-relative paths.
This may cause failures when users run the project in different directory structures.
Using:
or repository-relative paths would improve portability and reproducibility.
5. Protobuf dependency conflict in environment solving
When creating the environment, Conda reported dependency conflicts involving:
Specifically, PyTorch 1.13.1 requires a newer protobuf version than the one pinned in the environment file, causing the solver to fail.
Removing the explicit protobuf pin or updating it to a compatible version may resolve this issue.
6. Reproducibility concerns caused by strict low-level package pinning
The environment file pins many low-level system libraries, for example:
These versions appear to originate from the author's local environment export rather than project-level requirements.
Such strict pinning significantly increases the likelihood of Conda solver failures across platforms and distributions.
It may be preferable to keep only project-critical dependencies and allow Conda to resolve low-level system libraries automatically.
7. Potential issues with PyG ecosystem packages
The environment includes packages such as:
These packages are highly sensitive to the exact PyTorch/CUDA combination and are a common source of installation failures.
Providing installation instructions based on the official PyG wheel index (instead of strict Conda pinning) may improve reproducibility.
Summary
The main blockers we encountered were:
fair-esm==2.0.1.Thank you again for sharing this project. We hope these observations help improve the reproducibility of ProStab for future users.