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

cftime 1.5.2 breaks Python 2.7 compatibility #266

Open
dtasev opened this issue Jan 24, 2022 · 0 comments
Open

cftime 1.5.2 breaks Python 2.7 compatibility #266

dtasev opened this issue Jan 24, 2022 · 0 comments

Comments

@dtasev
Copy link

dtasev commented Jan 24, 2022

To report a non-security related issue, please provide:

  • the version of the software with which you are encountering an issue: cftime 1.5.2 (released 22 January 2022)
  • environmental information (i.e. Operating System, compiler info, java version, python version, etc.)
    • Python 2.7
    • Debian GNU/Linux 10 (buster) & openSUSE Leap 42.3
  • a description of the issue with the steps needed to reproduce it:

Easiest way to test it is docker: docker run -it python:2.7 pip install cftime==1.5.2, producing:

$ docker run -e HTTP_PROXY -e HTTPS_PROXY -it python:2.7 pip install cftime==1.5.2     30.7s  Mon 24 Jan 2022 12:11:07 GMT
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting cftime==1.5.2
  Downloading cftime-1.5.2.tar.gz (46 kB)
     |████████████████████████████████| 46 kB 517 kB/s 
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python /usr/local/lib/python2.7/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-4aB4aV/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=41.2' cython wheel oldest-supported-numpy
       cwd: None
  Complete output (11 lines):
  DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
  Collecting setuptools>=41.2
    Downloading setuptools-44.1.1-py2.py3-none-any.whl (583 kB)
  Collecting cython
    Downloading Cython-0.29.26-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.9 MB)
  Collecting wheel
    Downloading wheel-0.37.1-py2.py3-none-any.whl (35 kB)
  ERROR: Could not find a version that satisfies the requirement oldest-supported-numpy (from versions: none)
  ERROR: No matching distribution found for oldest-supported-numpy
  WARNING: You are using pip version 20.0.2; however, version 20.3.4 is available.
  You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
  ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python /usr/local/lib/python2.7/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-4aB4aV/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=41.2' cython wheel oldest-supported-numpy Check the logs for full command output.

Obviously, Python 2.7 issue, not really expecting a fix and pinning to cftime==1.5.1.1 fixed our builds.

Just making you aware, as https://pypi.org/project/cftime/ still claims Python 2.7 support.

Honestly, I can't even track down what exactly caused this, as the only changes to requirements.txt that I can see are that numpy is now pinned to 1.13, which should be fine as cftime==1.5.1.1 installs numpy==1.16 anyway.

Another behaviour difference I see is in the packages that are installed during pip:

cftime==1.5.1.1 produces:

$ pip install "cftime<1.5.2"
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting cftime<1.5.2
  Downloading cftime-1.5.1.1.tar.gz (46 kB)
     |████████████████████████████████| 46 kB 737 kB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting numpy
  Using cached numpy-1.16.6-cp27-cp27mu-manylinux1_x86_64.whl (17.0 MB)
Building wheels for collected packages: cftime
  Building wheel for cftime (PEP 517) ... done
  Created wheel for cftime: filename=cftime-1.5.1.1-cp27-cp27mu-linux_x86_64.whl size=666016 sha256=63e8c0b3921f9bda68bb6d4a6ea9b99f45a3fb96bc0811979ef545bd4dd550f1
  Stored in directory: /root/.cache/pip/wheels/fe/47/b7/5557025e16396c30079301e9ec609b3cae54c38a430576c4fb
Successfully built cftime
Installing collected packages: numpy, cftime
Successfully installed cftime-1.5.1.1 numpy-1.16.6

while cftime==1.5.2 pulls in cython wheel and oldest-supported-numpy. I can't tell what causes the extra packages, but will dig in some more to see if I come up with some idea, as they are only found in requirements-dev.txt!

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