aws-samples / aws-eda-slurm-cluster

AWS Slurm Cluster for EDA Workloads
MIT No Attribution
23 stars 7 forks source link

PyYAML 5.4.1 in source/requirements.txt does not install due to release of cython3.0 #212

Closed gwolski closed 3 months ago

gwolski commented 4 months ago

New user - running "source setup.sh". I have tried python3-10.12 and python3-11.4.
Installing PyYAML5.4.1 from source/requirements.txt fails:

Collecting PyYAML==5.4.1 Using cached PyYAML-5.4.1.tar.gz (175 kB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [48 lines of output] running egg_info writing lib3/PyYAML.egg-info/PKG-INFO writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt writing top-level names to lib3/PyYAML.egg-info/top_level.txt Traceback (most recent call last): File "/proj/work/gwolski/aws-eda-slurm-cluster/source/.venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/proj/work/gwolski/aws-eda-slurm-cluster/source/.venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(hook_input['kwargs']) File "/proj/work/gwolski/aws-eda-slurm-cluster/source/.venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=['wheel']) File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires self.run_setup() File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 311, in run_setup exec(code, locals()) File "", line 271, in File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/init.py", line 103, in setup return distutils.core.setup(attrs) File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup return run_commands(dist) File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands dist.run_commands() File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands self.run_command(cmd) File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 963, in run_command super().run_command(command) File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command cmd_obj.run() File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 321, in run self.find_sources() File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 329, in find_sources mm.run() File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 550, in run self.add_defaults() File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 588, in add_defaults sdist.add_defaults(self) File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/command/sdist.py", line 102, in add_defaults super().add_defaults() File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults self._add_defaults_ext() File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext self.filelist.extend(build_ext.get_source_files()) File "", line 201, in get_source_files File "/tmp/pip-build-env-icxoyvdw/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 107, in getattr raise AttributeError(attr) AttributeError: cython_sources [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

Searching internet suggests cython3.0 release breaks this. Removing version requirements gets past this problem. I am hesitant to go to latest as I do not understand why 5.4.1 was locked in the requirements.txt file, yet many other things aren't versioned.

To reproduce: git clone git@github.com:aws-samples/aws-eda-slurm-cluster.git cd aws-eda-slurm-cluster source setup.sh

Running on Rocky 8, system default python is 3.6.8, not high enough, so I'm using 3.10.12.

cartalla commented 4 months ago

I don't believe that there is a requirement for a particular version of PyYaml in the scripts.

cartalla commented 3 months ago

I was able to reproduce the error with Rocky 8 and python 3.11 (3.10 wasn't available in yum). Verified the fix and add instructions on how to use latest python versions.