Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
629 Widoki

I have tried almost everything. I have reached a point where manually installing some of the dependencies works. But not for every package.

As an example this works:

CFLAGS="-I/opt/homebrew/opt/openssl@3/include" \
LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib" \
env PG_CONFIG=/opt/homebrew/opt/libpq/bin/pg_config uv pip install psycopg2==2.9.2

If I don't run it like that it fails to build from source. I am using Python 3.10.12 for local dev as that's the one that works on our production server.

But I am now getting another failure to build from source for gevent​:

CFLAGS="-I/opt/homebrew/opt/openssl@3/include" \
LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib" \
env PG_CONFIG=/opt/homebrew/opt/libpq/bin/pg_config uv pip install gevent==21.8.0

The error here is:

Failed to build `gevent==21.8.0`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1)

      [stdout]
      Compiling src/gevent/libev/corecext.pyx because it changed.
      [1/1] Cythonizing src/gevent/libev/corecext.pyx

      [stderr]
      performance hint: src/gevent/libev/corecext.pyx:1325:0: Exception check on '_syserr_cb' will always require the GIL to be
      acquired.
      Possible solutions:
        1. Declare '_syserr_cb' as 'noexcept' if you control the definition and you're sure you don't want the function to raise
      exceptions.
        2. Use an 'int' return type on '_syserr_cb' to allow an error code to be returned.

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef tuple integer_types

      if sys.version_info[0] >= 3:
          integer_types = int,
      else:
          integer_types = (int, long)
                                ^
      ------------------------------------------------------------

This implies Python 3.10.12 is not compatible. However, the requirements.txt​ file has this entry:

gevent==21.8.0 ; sys_platform != 'win32' and python_version > '3.9' and python_version <= '3.10'  # (Jammy)

Doesn't that imply this should work? Why does it fail?

Awatar
Odrzuć