Skip to content

Issue with python 3.7 EOL and miniforge #349

@a-sevin

Description

@a-sevin

I'm trying to implement a quick procedure to deploy catkit2 on a Linux server. I wrote this script:

mkdir -p ~/miniforge
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh -O ~/miniforge/miniforge.sh
bash ~/miniforge/miniforge.sh -b -u -p ~/miniforge/
rm -f ~/miniforge/miniforge.sh
source ~/miniforge/bin/activate
conda init
git clone https://github.com/spacetelescope/catkit2
cd catkit2/
conda env create --file environment.yml
conda activate catkit2

However, after running conda env create, I encounter the following error:

Channels:
 - conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - python=3.7.16

Current channels:

  - https://conda.anaconda.org/conda-forge

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

If I modify the Python dependency version to 3.7 (which should still work for all CPython modules 3.7.X), I encounter another error:

Channels:
 - conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package protobuf-3.20.3-py310heca2aa9_1 requires python >=3.10,<3.11.0a0, but none of the providers could be installed

Could not solve for environment specs
The following packages are incompatible
├─ protobuf ==3.20.3 * is installable with the potential options
│  ├─ protobuf 3.20.3 would require
│  │  ├─ python >=3.10,<3.11.0a0 *, which can be installed;
│  │  └─ python_abi =3.10 *_cp310, which can be installed;
│  ├─ protobuf 3.20.3 would require
│  │  ├─ python >=3.11,<3.12.0a0 *, which can be installed;
│  │  └─ python_abi =3.11 *_cp311, which can be installed;
│  ├─ protobuf 3.20.3 would require
│  │  ├─ python >=3.8,<3.9.0a0 *, which can be installed;
│  │  └─ python_abi =3.8 *_cp38, which can be installed;
│  ├─ protobuf 3.20.3 would require
│  │  └─ python_abi ==3.8 *_pypy38_pp73, which requires
│  │     └─ python =3.8 *_73_pypy, which can be installed;
│  ├─ protobuf 3.20.3 would require
│  │  ├─ python >=3.9,<3.10.0a0 *, which can be installed;
│  │  └─ python_abi =3.9 *_cp39, which can be installed;
│  └─ protobuf 3.20.3 would require
│     └─ python_abi ==3.9 *_pypy39_pp73, which requires
│        └─ python =3.9 *_73_pypy, which can be installed;
└─ python =3.7 * is not installable because there are no viable options
   ├─ python [3.7.10|3.7.12|3.7.9] conflicts with any installable versions previously reported;
   ├─ python [3.7.0|3.7.1|3.7.2|3.7.3|3.7.6] would require
   │  └─ python_abi =* *_cp37m, which conflicts with any installable versions previously reported;
   └─ python [3.7.10|3.7.12|...|3.7.9] would require
      └─ python_abi =3.7 *_cp37m, which conflicts with any installable versions previously reported.

I think the problem is that Python 3.7 has been EOL for 2 years.

FYI, the script works fine if I upgrade to Python 3.9 for example.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions