Skip to content

Commit

Permalink
Fixed PyYAML install issue due to release of Cython 3
Browse files Browse the repository at this point in the history
Details:

* Excluded certain PyYAML package versions to address the package install error
  that happens due to the recently released Cython 3 when PyYAML has to build
  its wheel archive during install.

* Increased zhmcclient to 1.9.1 to pick up PyYAML install fix.

* Added indirect dependency to pyrsistent to address package conflict with
  jsonschema and zhmcclient requirements on it.

Signed-off-by: Andreas Maier <maiera@de.ibm.com>
  • Loading branch information
andy-maier committed Jul 25, 2023
1 parent 5dbc68e commit fca310e
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 8 deletions.
3 changes: 1 addition & 2 deletions Makefile
Expand Up @@ -480,8 +480,7 @@ ifeq ($(python_m_version),2)
else
@echo "Makefile: Checking missing dependencies of this package"
pip-missing-reqs $(package_name) --requirements-file=requirements.txt
# TODO: Enable again once 1.8.1 is released.
# pip-missing-reqs $(package_name) --requirements-file=minimum-constraints.txt
pip-missing-reqs $(package_name) --requirements-file=minimum-constraints.txt
@echo "Makefile: Done checking missing dependencies of this package"
ifeq ($(PLATFORM),Windows_native)
# Reason for skipping on Windows is https://github.com/r1chardj0n3s/pip-check-reqs/issues/67
Expand Down
7 changes: 7 additions & 0 deletions docs/changes.rst
Expand Up @@ -62,6 +62,13 @@ Released: 2023-07-03
* Addressed safety issues from 6/2023, by increasing 'requests' to 2.31.0
on Python >=3.7.

* Increased minimum zhmcclient version to 1.9.1 to pick up fixes for
'console restart' and PyYAML install issue.

* Excluded certain PyYAML package versions to address the package install error
that happens due to the recently released Cython 3 when PyYAML has to build
its wheel archive during install.

**Enhancements:**

* Improved the end2end test cases for session management.
Expand Down
9 changes: 5 additions & 4 deletions minimum-constraints.txt
Expand Up @@ -106,7 +106,7 @@ wheel==0.38.1; python_version >= '3.7'

# Direct dependencies for runtime (must be consistent with requirements.txt)

zhmcclient==1.8.1
zhmcclient==1.9.1

click==7.0; python_version <= '3.5'
click==8.0.2; python_version >= '3.6'
Expand All @@ -126,16 +126,17 @@ python-dateutil==2.8.2
prompt-toolkit==1.0.15; python_version == '2.7'
prompt-toolkit==2.0.1; python_version >= '3.5'

# PyYAML is pulled in by dparse
PyYAML==5.3.1; python_version <= '3.5'
PyYAML==5.4; python_version >= '3.6'
# PyYAML is pulled in by zhmcclient and dparse
PyYAML==5.3.1

jsonschema==3.0.1
yamlloader==0.5.5

# urllib3 is used to disable warnings
urllib3==1.26.5

pyrsistent==0.15.1


# Indirect dependencies for runtime (must be consistent with requirements.txt)

Expand Down
15 changes: 13 additions & 2 deletions requirements.txt
Expand Up @@ -10,7 +10,7 @@
# Direct dependencies (except pip, setuptools, wheel):

# zhmcclient @ git+https://github.com/zhmcclient/python-zhmcclient.git@1.8/andy/fix-session-logoff
zhmcclient>=1.8.1 # Apache
zhmcclient>=1.9.1 # Apache

# click <7.0 did not properly declare supported Python versions
# click 8.0 has dropped support for Python 2.7,3.5
Expand Down Expand Up @@ -41,8 +41,14 @@ prompt-toolkit>=2.0.1; python_version >= '3.5'
# PyYAML 5.3.1 addressed issue 38100 reported by safety
# PyYAML 5.2 addressed issue 38639 reported by safety
# PyYAML 5.4 fixes safety issue 39611
# PyYAML 5.3 has wheel archives for Python 2.7, 3.5 - 3.9
# PyYAML 5.4 has wheel archives for Python 2.7, 3.6 - 3.9
# PyYAML 6.0 has wheel archives for Python 3.6 - 3.11
# PyYAML 5.4 and 6.0.0 fails install since Cython 3 was released, see issue
# https://github.com/yaml/pyyaml/issues/724.
PyYAML>=5.3.1; python_version <= '3.5'
PyYAML>=5.4; python_version >= '3.6'
PyYAML>=5.3.1,!=5.4.0,!=5.4.1; python_version >= '3.6' and python_version <= '3.11'
PyYAML>=5.3.1,!=5.4.0,!=5.4.1,!=6.0.0; python_version >= '3.12'

jsonschema>=3.0.1
yamlloader>=0.5.5
Expand All @@ -53,6 +59,11 @@ urllib3>=1.26.5 # MIT

# Indirect dependencies (commented out, only listed to document their license):

# MIT, from jsonschema>=3.0
# pyrsistent 0.15.0 started using the FileNotFoundError built-in exception that
# was added only in Python 3. pyrsistent 0.15.1 fixed that by defining it locally for py27.
pyrsistent>=0.15.1

# certifi # MPL 2.0, from requests
# chardet # LGPL, from requests
# decorator # BSD, from zhmcclient
Expand Down

0 comments on commit fca310e

Please sign in to comment.