It says numpy not installed even though it is installed. I thought may be the venv is not accessible to pip (which it should be, because numpy is installed inside the venv) and I installed it system wide using sudo apt install python3-numpy
as you can see in the very last of the following snippet.
vanangamudi@kaithadi:~/code/bec-gp/BEC_GP
$ workon gpinn
(gpinn) vanangamudi@kaithadi:~/code/bec-gp/BEC_GP
$ pip install trottersuzuki
Collecting trottersuzuki
Using cached trottersuzuki-1.6.2.tar.gz (218 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
╰─> [20 lines of output]
Traceback (most recent call last):
File "/home/vanangamudi/.virtualenvs/gpinn/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/home/vanangamudi/.virtualenvs/gpinn/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vanangamudi/.virtualenvs/gpinn/lib/python3.12/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-d6cdwe1m/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 332, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-d6cdwe1m/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 302, in _get_build_requires
self.run_setup()
File "/tmp/pip-build-env-d6cdwe1m/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 503, in run_setup
super().run_setup(setup_script=setup_script)
File "/tmp/pip-build-env-d6cdwe1m/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 318, in run_setup
exec(code, locals())
File "<string>", line 6, in <module>
ModuleNotFoundError: No module named 'numpy'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
(gpinn) vanangamudi@kaithadi:~/code/bec-gp/BEC_GP
$ python -c 'import numpy'
(gpinn) vanangamudi@kaithadi:~/code/bec-gp/BEC_GP
$ python -c 'import matplotlib'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'matplotlib'
(gpinn) vanangamudi@kaithadi:~/code/bec-gp/BEC_GP
$
The stable release of the package you’re trying to install i.e. trottersuzuki 1.6.2 was released on Mar 29, 2017. You are using a very recent version of Python i.e. 3.12 for this package. This might lead to compatibility issues.
I’ve skimmed through the docs and PyPi to find the specific Python versions it supports but there isn’t clarity on that. Even if there were any, it would likely be an old version perhaps 3.6.
You might want to use an alternative package or downgrade your Python to version 3.6 and see if it works. Remember the latter might affect the functionality of its dependencies such as numpy.
trottersuzuki
doesn’t provide binary wheels, only sdist. When installing from a source distribution modern pip
first build a wheel in a new isolated virtual environment. In this isolated venv there is no numpy
. For pip
to install numpy
during build phase there must be a file pyproject.toml
in the package that lists numpy
as a build dependency. But there is no such file. I advice to report it… oh, I see you’ve already reported the bug; you should told this in the question.
Until the bug is fixed there is workaround: disable build isolation:
$ pip install numpy setuptools
$ pip install --no-build-isolation trottersuzuki