Skip to content

Python 3.13 Issues/Support #13

@mathomp4

Description

@mathomp4

@mrkwjc A query: Have you built/installed ffnet with Python 3.13 yet? I'm trying to today and it's not working. I get this output:

> /ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/bin/pip install git+https://github.com/mrkwjc/ffnet
Collecting git+https://github.com/mrkwjc/ffnet
  Cloning https://github.com/mrkwjc/ffnet to ./tmp-for-ffnet/pip-req-build-6aerriss
  Running command git clone --filter=blob:none --quiet https://github.com/mrkwjc/ffnet /ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-req-build-6aerriss
  Resolved https://github.com/mrkwjc/ffnet to commit 69b848438e6e9aed7415b7c6e3c54d1f16f445f9
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in /ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/lib/python3.13/site-packages (from ffnet==0.8.6) (2.1.3)
Requirement already satisfied: meson in /ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/lib/python3.13/site-packages (from ffnet==0.8.6) (1.7.0)
Collecting meson-python (from ffnet==0.8.6)
  Using cached meson_python-0.17.1-py3-none-any.whl.metadata (4.1 kB)
Requirement already satisfied: packaging>=19.0 in /ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/lib/python3.13/site-packages (from meson-python->ffnet==0.8.6) (24.2)
Collecting pyproject-metadata>=0.7.1 (from meson-python->ffnet==0.8.6)
  Using cached pyproject_metadata-0.9.0-py3-none-any.whl.metadata (6.9 kB)
Using cached meson_python-0.17.1-py3-none-any.whl (27 kB)
Using cached pyproject_metadata-0.9.0-py3-none-any.whl (18 kB)
Building wheels for collected packages: ffnet
  Building wheel for ffnet (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for ffnet (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [92 lines of output]
      Traceback (most recent call last):
        File "/ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/bin/f2py", line 7, in <module>
          from numpy.f2py.f2py2e import main
      ModuleNotFoundError: No module named 'numpy'
      Traceback (most recent call last):
        File "/ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "/ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 280, in build_wheel
          return _build_backend().build_wheel(
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
              wheel_directory, config_settings, metadata_directory
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          )
          ^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 438, in build_wheel
          return _build(['bdist_wheel', '--dist-info-dir', str(metadata_directory)])
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 426, in _build
          return self._build_with_temp_dir(
                 ~~~~~~~~~~~~~~~~~~~~~~~~~^
              cmd,
              ^^^^
          ...<3 lines>...
              self._arbitrary_args(config_settings),
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          )
          ^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 407, in _build_with_temp_dir
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 522, in run_setup
          super().run_setup(setup_script=setup_script)
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 320, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 62, in <module>
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 186, in setup
          return run_commands(dist)
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
          dist.run_commands()
          ~~~~~~~~~~~~~~~~~^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 983, in run_commands
          self.run_command(cmd)
          ~~~~~~~~~~~~~~~~^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/dist.py", line 999, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 1002, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/command/bdist_wheel.py", line 379, in run
          self.run_command("build")
          ~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 339, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/dist.py", line 999, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 1002, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/command/build.py", line 136, in run
          self.run_command(cmd_name)
          ~~~~~~~~~~~~~~~~^^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 339, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/dist.py", line 999, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 1002, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "<string>", line 51, in run
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 339, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/dist.py", line 999, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/ford1/share/gmao_SIteam/GEOSpyD-Github/tmp-for-ffnet/pip-build-env-4ss_6muj/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 1002, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "<string>", line 40, in run
        File "/ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/lib/python3.13/subprocess.py", line 421, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['f2py', '-m', '_ffnet', '-c', 'ffnet.f']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for ffnet
Failed to build ffnet
ERROR: Failed to build installable wheels for some pyproject.toml based projects (ffnet)

Now, go to the bottom and it seems to be saying that:

f2py -m _ffnet -c ffnet.f

is failing. So, I try by hand:

> /ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/bin/f2py -m _ffnet -c ffnet.f
Cannot use distutils backend with Python>=3.12, using meson backend instead.
Using meson backend
Will pass --lower to f2py
See https://numpy.org/doc/stable/f2py/buildtools/meson.html
Reading fortran codes...
	Reading file 'ffnet.f' (format:fix,strict)
Post-processing...
...
Warning: Unused dummy argument ‘ffn’ at (1) [-Wunused-dummy-argument]
../ffnet.f:754:22:

  754 |       function dmapa(f, a, b, c, d)
      |                      1
Warning: Unused dummy argument ‘f’ at (1) [-Wunused-dummy-argument]
[6/6] Linking target _ffnet.cpython-313-x86_64-linux-gnu.so
> /ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/bin/python -c 'import _ffnet'
> echo $?
0

So, it builds. There's also a weird thing about numpy at the top but:

> /ford1/share/gmao_SIteam/GEOSpyD/24.11.3-0/2025-02-21/envs/py3.13/bin/python -c 'from numpy.f2py.f2py2e import main'
> echo $?
0

Have you seen this issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions