Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

miniconda3 fails to pip-compile kaggle_environments==1.13.0 #239

Open
JamesMcGuigan opened this issue Jul 30, 2023 · 0 comments
Open

miniconda3 fails to pip-compile kaggle_environments==1.13.0 #239

JamesMcGuigan opened this issue Jul 30, 2023 · 0 comments

Comments

@JamesMcGuigan
Copy link
Contributor

JamesMcGuigan commented Jul 30, 2023

Running pip-compile on kaggle_environments==1.13.0 works fine using the regular version of python pip.

However pip-compile using miniconda (Ubuntu 22.04 LTS) fails to resolve nested dependencies pettingzoo==1.12.0 and pickle5==0.0.12

Steps to Reproduce

requirements.in

kaggle_environments==1.13.0

BROKEN: Using miniconda pip

lsb_release -a

~/.miniconda3/bin/python3 --version   # Python 3.10.11
~/.miniconda3/bin/python3 -m venv venv
source venv/bin/activate
pip-compile -v --upgrade
...
Finding secondary dependencies:
  kaggle-environments==1.13.0 requires Flask>=1.1.2, gym==0.21.0, jsonschema>=3.0.1, numpy>=1.19.5, PettingZoo==1.12.0, pickle5==0.0.12, requests>=2.25.1, stable-baselines3==1.7.0, vec-noise>=1.1.4
  jsonschema==4.18.4        requires attrs>=22.2.0, jsonschema-specifications>=2023.03.6, referencing>=0.28.4, rpds-py>=0.7.1

  pettingzoo==1.12.0 not in cache, need to check index
  ERROR: Could not find a version that satisfies the requirement PettingZoo==1.12.0 (from kaggle_environments==1.13.0->-r requirements.in (line 11)) (from versions: 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10, 0.1.11, 0.1.12, 0.1.13, 0.1.14, 1.0.0, 1.0.1, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.14.0, 1.15.0, 1.16.0, 1.17.0, 1.18.1, 1.19.0, 1.20.1, 1.21.0, 1.22.0, 1.22.1, 1.22.2, 1.22.3, 1.22.4, 1.23.0, 1.23.1)

  pickle5==0.0.12 not in cache, need to check index
  ERROR: Could not find a version that satisfies the requirement pickle5==0.0.12 (from kaggle_environments==1.13.0->-r requirements.in (line 1)) (from versions: 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.10, 0.0.11)

These are missing from the miniconda3 repos, but are visible in pypi

WORKAROUND: Use python pip

/usr/bin/python3 --version    # Python 3.10.6
/usr/bin/python3 -m venv venv
source venv/bin/activate
pip-compile -v --upgrade
pip install -r requirements.txt

NOTE: miniconda is required to get tensorflow running on Apple M1


Poetry describes the dependency conflict as requiring Python v3.7

# pyproject.toml == kaggle-environments = "1.13.0"
poetry update
Updating dependencies
Resolving dependencies... (0.9s)

The current project's Python requirement (>=3.10,<4.0) is not compatible with some of the required packages Python requirement:
  - pickle5 requires Python >=3.5, <3.8, so it will not be satisfied for Python >=3.10,<4.0

Because kaggle-environments (1.13.0) depends on pickle5 (0.0.12) which requires Python >=3.5, <3.8, kaggle-environments is forbidden.
So, because connectx depends on kaggle-environments (1.13.0), version solving failed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant