alkaline-ml / pmdarima

A statistical library designed to fill the void in Python's time series analysis capabilities, including the equivalent of R's auto.arima function.
https://www.alkaline-ml.com/pmdarima
MIT License
1.55k stars 228 forks source link

Double requirement given: scipy<1.10,>=1.3 (already in scipy<1.8,>=1.3, name='scipy') #536

Closed kailasprasannakumar closed 1 year ago

kailasprasannakumar commented 1 year ago

Describe the bug

Collecting pmdarima Downloading https://files.pythonhosted.org/packages/08/e8/7817b5359bbdee06b7902fb4629180c6d8bbe1a35e65f28c6fe67f76c2c3/pmdarima-2.0.2.tar.gz (630kB) Collecting beniget~=0.4.0 (from pythran) Downloading https://files.pythonhosted.org/packages/cc/4a/af3f1b3d00efd47309b7a0e28351e06453727fa55d9b3a45fd4b91031a63/beniget-0.4.1-py3-none-any.whl Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from pythran) (1.17.3) Collecting gast~=0.5.0 (from pythran) Downloading https://files.pythonhosted.org/packages/5f/1c/b59500a88c5c3d9d601c5ca62b9df5e0964764472faed82a182958a922c5/gast-0.5.3-py3-none-any.whl Collecting ply>=3.4 (from pythran) Downloading https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl (49kB) Collecting joblib>=0.11 (from pmdarima) Downloading https://files.pythonhosted.org/packages/91/d4/3b4c8e5a30604df4c7518c562d4bf0502f2fa29221459226e140cf846512/joblib-1.2.0-py3-none-any.whl (297kB) Collecting pandas>=0.19 (from pmdarima) Downloading https://files.pythonhosted.org/packages/99/f0/f99700ef327e51d291efdf4a6de29e685c4d198cbf8531541fc84d169e0e/pandas-1.3.5.tar.gz (4.7MB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Collecting scikit-learn>=0.22 (from pmdarima) Downloading https://files.pythonhosted.org/packages/75/44/074b780d8ac0b0899937e9b8ba6d5d8873a71b99aa915219251ef85a8890/scikit-learn-1.0.2.tar.gz (6.7MB) Installing build dependencies: started Installing build dependencies: still running... Installing build dependencies: still running... Installing build dependencies: still running... Installing build dependencies: still running... Installing build dependencies: still running... Installing build dependencies: still running... Installing build dependencies: still running... Installing build dependencies: still running... Installing build dependencies: still running... Installing build dependencies: still running... Installing build dependencies: finished with status 'done' Collecting scipy>=1.3.2 (from pmdarima) Requirement already satisfied: setuptools!=50.0.0,>=38.6.0 in /usr/lib/python3/dist-packages (from pmdarima) (40.8.0) Collecting statsmodels>=0.13.2 (from pmdarima) Downloading https://files.pythonhosted.org/packages/a4/7d/a919dbad04ec31741eee6a7f7df4a9a9e57e3b863900e48b079a6b832aab/statsmodels-0.13.5.tar.gz (18.4MB) Installing build dependencies: started Installing build dependencies: finished with status 'error' Complete output from command /usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-lsrupns_ --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=59.2.0 wheel>=0.37.1 cython>=0.29.32,<3 "oldest-supported-numpy; python_version!='3.10' or platform_system!='Windows' or platform_python_implementation=='PyPy'" "numpy==1.22.3; python_version=='3.10' and platform_system=='Windows' and platform_python_implementation != 'PyPy'" "numpy; python_version>='3.11'" "scipy>=1.3,<1.8; python_version=='3.7'" "scipy>=1.3,<1.9; python_version=='3.8' and platform_system=='Windows' and platform_machine=='x86'" "scipy>=1.3,<1.9; python_version=='3.9' and platform_system=='Windows' and platform_machine=='x86'" "scipy>=1.3,<1.10; (python_version>'3.9' or platform_system!='Windows' or platform_machine!='x86') and python_version<'3.12'" "scipy>=1.9; python_version>='3.12'" setuptools_scm[toml]>=7.0,<8: Ignoring numpy: markers 'python_version == "3.10" and platform_system == "Windows" and platform_python_implementation != "PyPy"' don't match your environment Ignoring numpy: markers 'python_version >= "3.11"' don't match your environment Ignoring scipy: markers 'python_version == "3.8" and platform_system == "Windows" and platform_machine == "x86"' don't match your environment Ignoring scipy: markers 'python_version == "3.9" and platform_system == "Windows" and platform_machine == "x86"' don't match your environment Double requirement given: scipy<1.10,>=1.3 (already in scipy<1.8,>=1.3, name='scipy')


Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-lsrupns_ --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=59.2.0 wheel>=0.37.1 cython>=0.29.32,<3 "oldest-supported-numpy; python_version!='3.10' or platform_system!='Windows' or platform_python_implementation=='PyPy'" "numpy==1.22.3; python_version=='3.10' and platform_system=='Windows' and platform_python_implementation != 'PyPy'" "numpy; python_version>='3.11'" "scipy>=1.3,<1.8; python_version=='3.7'" "scipy>=1.3,<1.9; python_version=='3.8' and platform_system=='Windows' and platform_machine=='x86'" "scipy>=1.3,<1.9; python_version=='3.9' and platform_system=='Windows' and platform_machine=='x86'" "scipy>=1.3,<1.10; (python_version>'3.9' or platform_system!='Windows' or platform_machine!='x86') and python_version<'3.12'" "scipy>=1.9; python_version>='3.12'" setuptools_scm[toml]>=7.0,<8" failed with error code 1 in None

To Reproduce

RUN pip3 install pmdarima in Dockercompose or debian system

Versions

versions dating back to February-22-2022

Expected Behavior

The package to be installed successfully

Actual Behavior

exit with non-zero code: 1

Additional Context

I think the issue is with the the following command where scipy requirements are given twice:

Command "/usr/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-lsrupns_ --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools>=59.2.0 wheel>=0.37.1 cython>=0.29.32,<3 "oldest-supported-numpy; python_version!='3.10' or platform_system!='Windows' or platform_python_implementation=='PyPy'" "numpy==1.22.3; python_version=='3.10' and platform_system=='Windows' and platform_python_implementation != 'PyPy'" "numpy; python_version>='3.11'" "scipy>=1.3,<1.8; python_version=='3.7'" "scipy>=1.3,<1.9; python_version=='3.8' and platform_system=='Windows' and platform_machine=='x86'" "scipy>=1.3,<1.9; python_version=='3.9' and platform_system=='Windows' and platform_machine=='x86'" "scipy>=1.3,<1.10; (python_version>'3.9' or platform_system!='Windows' or platform_machine!='x86') and python_version<'3.12'" "scipy>=1.9; python_version>='3.12'" setuptools_scm[toml]>=7.0,<8" failed with error code 1 in None

aaronreidsmith commented 1 year ago

Those are not our dependencies, they appear to be statsmodels'.

Here are ours:

build_reqirements.txt

numpy==1.21.2; python_version < '3.10'
numpy==1.21.6; python_version == '3.10' and platform_system != 'Windows'
numpy==1.22.3; python_version == '3.10' and platform_system == 'Windows'
numpy==1.23.2; python_version >= '3.11'
scipy==1.3.2; python_version <= '3.8' and platform_machine != 'aarch64'
scipy==1.5.3; python_version <= '3.8' and platform_machine == 'aarch64'
scipy==1.5.4; python_version == '3.9'
scipy==1.7.2; python_version == '3.10'
scipy==1.9.3; python_version == '3.11'
cython>=0.29,!=0.29.18,!=0.29.31
scikit-learn>=0.22
pandas>=0.19
statsmodels>=0.11,!=0.12.0
patsy
pytest
pytest-mpl
pytest-benchmark
setuptools>=38.6.0,!=50.0.0
wheel
twine>=1.13.0
readme_renderer
matplotlib
urllib3

requirements.txt

joblib>=0.11
Cython>=0.29,!=0.29.18,!=0.29.31
numpy>=1.21.2
pandas>=0.19
scikit-learn>=0.22
scipy>=1.3.2
statsmodels>=0.13.2
urllib3
setuptools>=38.6.0,!=50.0.0

And here are statsmodels' (for version 0.13.5):

pyproject.toml

requires = [
    "setuptools>=59.2.0",
    "wheel>=0.37.1",
    "cython>=0.29.32,<3",  # Sync with CYTHON_MIN_VER in setup
    # Workaround for oldest supported numpy using 1.21.6, but SciPy 1.9.2+ requiring 1.22.3+
    "oldest-supported-numpy; python_version!='3.10' or platform_system!='Windows' or platform_python_implementation=='PyPy'",
    "numpy==1.22.3; python_version=='3.10' and platform_system=='Windows' and platform_python_implementation != 'PyPy'",
    "numpy; python_version>='3.11'",
    # 1.8+ Not available for 3.7
    "scipy>=1.3,<1.8; python_version=='3.7'",
    # 1.9+ Not available for 32-bit windows, so use 1.8 for all 3.8 & 3.9 w/ 32-bit Windows
    "scipy>=1.3,<1.9; python_version=='3.8' and platform_system=='Windows' and platform_machine=='x86'",
    "scipy>=1.3,<1.9; python_version=='3.9' and platform_system=='Windows' and platform_machine=='x86'",
    # Cap at 1.9.x for all other platforms
    "scipy>=1.3,<1.10; (python_version>'3.9' or platform_system!='Windows' or platform_machine!='x86') and python_version<'3.12'",
    "scipy>=1.9; python_version>='3.12'",
    "setuptools_scm[toml]>=7.0,<8"
]

We can try to help though. Can you supply your Python version, OS version, and OS architecture? Are you running 32- or 64-bit?

kailasprasannakumar commented 1 year ago

Hi @aaronreidsmith Thanks for the prompt reply and information