Skip to content

Virtualenv fails when trying to build using Python 3.13 #30

@savchenko

Description

@savchenko

Debian 13
Python 3.13.5
pip 25.1.1

Collecting fonttools==4.39.3 (from -r requirements.txt (line 2))
  Downloading fonttools-4.39.3-py3-none-any.whl.metadata (145 kB)
Collecting font-v==1.0.5 (from -r requirements.txt (line 5))
  Downloading font_v-1.0.5-py3-none-any.whl.metadata (14 kB)
Collecting opentype-feature-freezer==1.32.2 (from -r requirements.txt (line 8))
  Downloading opentype_feature_freezer-1.32.2-py3-none-any.whl.metadata (11 kB)
Collecting skia-pathops==0.7.4 (from -r requirements.txt (line 11))
  Downloading skia-pathops-0.7.4.zip (61.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.3/61.3 MB 2.4 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [154 lines of output]
      <string>:29: SyntaxWarning: invalid escape sequence '\s'
      <string>:7: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.
      <string>:11: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
      toml section missing PosixPath('pyproject.toml') does not contain a tool.setuptools_scm section
      toml section missing PosixPath('pyproject.toml') does not contain a tool.setuptools_scm section
      /home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!
      
              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:
      
              License :: OSI Approved :: BSD License
      
              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************
      
      !!
        self._finalize_license_expression()
      running dist_info
      creating /home/user/.cache/TMPDIR/pip-modern-metadata-hro62vyf/skia_pathops.egg-info
      writing /home/user/.cache/TMPDIR/pip-modern-metadata-hro62vyf/skia_pathops.egg-info/PKG-INFO
      writing dependency_links to /home/user/.cache/TMPDIR/pip-modern-metadata-hro62vyf/skia_pathops.egg-info/dependency_links.txt
      writing requirements to /home/user/.cache/TMPDIR/pip-modern-metadata-hro62vyf/skia_pathops.egg-info/requires.txt
      writing top-level names to /home/user/.cache/TMPDIR/pip-modern-metadata-hro62vyf/skia_pathops.egg-info/top_level.txt
      writing manifest file '/home/user/.cache/TMPDIR/pip-modern-metadata-hro62vyf/skia_pathops.egg-info/SOURCES.txt'
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          DONE = kDone_Verb  # unused; we raise StopIteration instead
      
      
      cdef uint8_t *POINTS_IN_VERB
      
      cpdef dict VERB_METHODS
      ^
      ------------------------------------------------------------
      src/python/pathops/_pathops.pxd:214:0: Variables cannot be declared with 'cpdef'. Use 'cdef' instead.
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
      cdef uint8_t *POINTS_IN_VERB
      
      cpdef dict VERB_METHODS
      
      cpdef dict PEN_METHODS
      ^
      ------------------------------------------------------------
      src/python/pathops/_pathops.pxd:216:0: Variables cannot be declared with 'cpdef'. Use 'cdef' instead.
      warning: src/python/pathops/_pathops.pyx:1242:8: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
      warning: src/python/pathops/_pathops.pyx:1255:12: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
      warning: src/python/pathops/_pathops.pyx:1261:16: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          3,  # CUBIC
          0,  # CLOSE
          0   # DONE
      ]
      
      cpdef dict VERB_METHODS = {
      ^
      ------------------------------------------------------------
      src/python/pathops/_pathops.pyx:691:0: Variables cannot be declared with 'cpdef'. Use 'cdef' instead.
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          kConic_Verb: "conicTo",
          kCubic_Verb: "cubicTo",
          kClose_Verb: "close",
      }
      
      cpdef dict PEN_METHODS = {
      ^
      ------------------------------------------------------------
      src/python/pathops/_pathops.pyx:700:0: Variables cannot be declared with 'cpdef'. Use 'cdef' instead.
      Compiling src/python/pathops/_pathops.pyx because it changed.
      [1/1] Cythonizing src/python/pathops/_pathops.pyx
      Traceback (most recent call last):
        File "/home/user/code/recursive-code-config/venv/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "/home/user/code/recursive-code-config/venv/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 "/home/user/code/recursive-code-config/venv/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 175, in prepare_metadata_for_build_wheel
          return hook(metadata_directory, config_settings)
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 374, in prepare_metadata_for_build_wheel
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 512, in run_setup
          super().run_setup(setup_script=setup_script)
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 409, in <module>
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/__init__.py", line 115, in setup
          return distutils.core.setup(**attrs)
                 ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 186, in setup
          return run_commands(dist)
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
          dist.run_commands()
          ~~~~~~~~~~~~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 1002, in run_commands
          self.run_command(cmd)
          ~~~~~~~~~~~~~~~~^^^^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/command/dist_info.py", line 94, in run
          self.egg_info.run()
          ~~~~~~~~~~~~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/command/egg_info.py", line 312, in run
          self.find_sources()
          ~~~~~~~~~~~~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/command/egg_info.py", line 320, in find_sources
          mm.run()
          ~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/command/egg_info.py", line 543, in run
          self.add_defaults()
          ~~~~~~~~~~~~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/command/egg_info.py", line 581, in add_defaults
          sdist.add_defaults(self)
          ~~~~~~~~~~~~~~~~~~^^^^^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/command/sdist.py", line 109, in add_defaults
          super().add_defaults()
          ~~~~~~~~~~~~~~~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/_distutils/command/sdist.py", line 245, in add_defaults
          self._add_defaults_ext()
          ~~~~~~~~~~~~~~~~~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/_distutils/command/sdist.py", line 329, in _add_defaults_ext
          build_ext = self.get_finalized_command('build_ext')
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 334, in get_finalized_command
          cmd_obj.ensure_finalized()
          ~~~~~~~~~~~~~~~~~~~~~~~~^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/setuptools/_distutils/cmd.py", line 135, in ensure_finalized
          self.finalize_options()
          ~~~~~~~~~~~~~~~~~~~~~^^
        File "<string>", line 96, in finalize_options
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/Cython/Build/Dependencies.py", line 1153, in cythonize
          cythonize_one(*args)
          ~~~~~~~~~~~~~^^^^^^^
        File "/home/user/.cache/TMPDIR/pip-build-env-9yi0pwph/overlay/lib/python3.13/site-packages/Cython/Build/Dependencies.py", line 1297, in cythonize_one
          raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: src/python/pathops/_pathops.pyx
      [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.

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