Why are modules so fragile? This is frustrating.
pip install Flask-APScheduler==1.13.1 Collecting Flask-APScheduler==1.13.1 Using cached Flask-APScheduler-1.13.1.tar.gz (12 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error× Preparing metadata (pyproject.toml) did not run successfully.│ exit code: 1╰─> [72 lines of output] running dist_info creating /tmp/pip-modern-metadata-po_f_m34/Flask_APScheduler.egg-info writing /tmp/pip-modern-metadata-po_f_m34/Flask_APScheduler.egg-info/PKG-INFO writing dependency_links to /tmp/pip-modern-metadata-po_f_m34/Flask_APScheduler.egg-info/dependency_links.txt writing requirements to /tmp/pip-modern-metadata-po_f_m34/Flask_APScheduler.egg-info/requires.txt writing top-level names to /tmp/pip-modern-metadata-po_f_m34/Flask_APScheduler.egg-info/top_level.txt writing manifest file '/tmp/pip-modern-metadata-po_f_m34/Flask_APScheduler.egg-info/SOURCES.txt' reading manifest file '/tmp/pip-modern-metadata-po_f_m34/Flask_APScheduler.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file '/tmp/pip-modern-metadata-po_f_m34/Flask_APScheduler.egg-info/SOURCES.txt' creating '/tmp/pip-modern-metadata-po_f_m34/Flask_APScheduler-1.13.1.dist-info' Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module> main() File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 149, in prepare_metadata_for_build_wheel return hook(metadata_directory, config_settings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 366, in prepare_metadata_for_build_wheel self.run_setup() File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 487, in run_setup super().run_setup(setup_script=setup_script) File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 311, in run_setup exec(code, locals()) File "<string>", line 6, in <module> File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 104, in setup return distutils.core.setup(**attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup return run_commands(dist) ^^^^^^^^^^^^^^^^^^ File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands dist.run_commands() File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands self.run_command(cmd) File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 967, in run_command super().run_command(command) File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command cmd_obj.run() File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/command/dist_info.py", line 97, in run bdist_wheel = self.get_finalized_command('bdist_wheel') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 304, in get_finalized_command cmd_obj = self.distribution.get_command_obj(command, create) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 860, in get_command_obj klass = self.get_command_class(command) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/pip-build-env-3bomvyn0/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 714, in get_command_class self.cmdclass[command] = cmdclass = ep.load() ^^^^^^^^^ File "/usr/local/lib/python3.11/importlib/metadata/__init__.py", line 202, in load module = import_module(match.group('module')) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1204, in _gcd_import File "<frozen importlib._bootstrap>", line 1176, in _find_and_load File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 690, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "/tmp/pip-build-env-3bomvyn0/normal/lib/python3.11/site-packages/wheel/bdist_wheel.py", line 27, in <module> from .macosx_libfile import calculate_macosx_platform_tag File "/tmp/pip-build-env-3bomvyn0/normal/lib/python3.11/site-packages/wheel/macosx_libfile.py", line 43, in <module> import ctypes File "/usr/local/lib/python3.11/ctypes/__init__.py", line 8, in <module> from _ctypes import Union, Structure, Array ModuleNotFoundError: No module named '_ctypes' [end of output] note: This error originates from a subprocess, and is likely not a problem with pip.error: metadata-generation-failed× Encountered error while generating package metadata.╰─> See above for output.note: This is an issue with the package mentioned above, not pip.hint: See above for details.
libffi-devel is indeed installed.Python 3.11.7pip 24.0 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
4.18.0-240.15.1.el8_3.x86_64 #1
I have also tried specifying particular versions but no luck.
pip listPackage Version
aiohttp 3.9.3aiosignal 1.3.1APScheduler 3.10.4attrs 23.2.0blinker 1.7.0certifi 2024.2.2charset-normalizer 3.3.2click 8.1.7Flask 3.0.2frozenlist 1.4.1idna 3.6iso8601 2.1.0itsdangerous 2.1.2Jinja2 3.1.3MarkupSafe 2.1.5multidict 6.0.5pip 24.0PyQt5 5.15.10PyQt5-Qt5 5.15.2PyQt5-sip 12.13.0pytz 2024.1requests 2.31.0setuptools 65.5.0six 1.16.0twitchio 2.9.0typing_extensions 4.10.0tzlocal 5.2urllib3 2.2.1Werkzeug 3.0.1yarl 1.9.4