long2ice / asyncmy

A fast asyncio MySQL/MariaDB driver with replication protocol support
https://github.com/long2ice/asyncmy
Apache License 2.0
230 stars 25 forks source link

0.2.6 release at PyPi: "No source distribution files available for this release." #50

Closed dmitrii-begal closed 1 year ago

dmitrii-begal commented 1 year ago

PyPi misses source distribution files (.tar.gz) which prevents latest 0.2.6 version to be installed on some systems using pip or pipenv. For example, I use MacOS on ARM platform. There is no generated .whl distributions for the platform and no .tar.gz. So I can not install latest version on local machine. Previous release (0.2.5) has .tar.gz distrubution, although it cannot be properly installed due to latest issue #48.

long2ice commented 1 year ago

I notice that, could you make a PR? I have no enough time

dmitrii-begal commented 1 year ago

Never worked with publishing to PyPi yet, will try to make it work :)

dmitrii-begal commented 1 year ago

I just tried to install asyncmy on Debian server and it seems like at least some .whl are broken. Pipenv uses this wheel (from installation logs):

Collecting asyncmy==0.2.6

  Downloading asyncmy-0.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB)

After installation I tried to import. Same ModuleNotFoundError: No module named 'asyncmy.connection' error. But at least I can build it now from tar.gz, although it is non-default behaviour for pip or pipenv.

long2ice commented 1 year ago

Need some time to find why

jjpaulo2 commented 1 year ago

@dmitrii-begal at version 0.2.4 it was working?

jjpaulo2 commented 1 year ago

@dmitrii-begal the package works for me at version 0.2.4 on Python 3.11

zoltan-fedor commented 1 year ago

Just upgraded from 0.2.5 to 0.2.6 and saw the same error:

  File "/home/myuser/myapp/app/db/session.py", line 65, in get_engine
    engine = create_async_engine(
  File "/home/myuser/.local/share/virtualenvs/myapp-hW1oTPAF/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/engine.py", line 43, in create_async_engine
    sync_engine = _create_engine(*arg, **kw)
  File "<string>", line 2, in create_engine
  File "/home/myuser/.local/share/virtualenvs/myapp-hW1oTPAF/lib/python3.10/site-packages/sqlalchemy/util/deprecations.py", line 375, in warned
    return fn(*args, **kwargs)
  File "/home/myuser/.local/share/virtualenvs/myapp-hW1oTPAF/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 548, in create_engine
    dbapi = dialect_cls.dbapi(**dbapi_args)
  File "/home/myuser/.local/share/virtualenvs/myapp-hW1oTPAF/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/asyncmy.py", line 291, in dbapi
    return AsyncAdapt_asyncmy_dbapi(__import__("asyncmy"))
  File "/home/myuser/.local/share/virtualenvs/myapp-hW1oTPAF/lib/python3.10/site-packages/asyncmy/__init__.py", line 1, in <module>
    from .connection import Connection, connect  # noqa:F401
ModuleNotFoundError: No module named 'asyncmy.connection'
dmitrii-begal commented 1 year ago

@dmitrii-begal at version 0.2.4 it was working?

@jjpaulo2 I just checked: asyncmy==0.2.4 was installed incorrectly both on my Debian 10 and MacOS (ARM) systems. When did you install it last time? Did you happen to have cached .whl files which were used to install the dependency? Versions <=0.2.5 are now built incorrectly because build dependency poetry-core was updated to 1.5.0 (and in asyncmy's pyproject.toml it's version was not pinned) which seems to build invalid wheels. But you could have cached wheels already generated with older poetry-core==1.4.0 and they worked just fine.

dmitrii-begal commented 1 year ago

@long2ice is that possible to remove broken .whl files for 0.2.6 from PyPi so package managers like pip and pipenv would choose to build from source by default instead of just installing incorrect wheel? I can confirm that asyncmy-0.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl is indeed broken.

Aib0t commented 1 year ago

0.2.7rc3, that was just published fixed the issue for me

long2ice commented 1 year ago

I will try to release 0.2.6 again and fix it

dmitrii-begal commented 1 year ago

@long2ice you removed poetry-core version pinning in this commit https://github.com/long2ice/asyncmy/commit/133aee8fb6505e3901386fc1d156b496144a2324, so issue #48 is back when trying to build from source.

UPD: checked it on 0.2.7-rc4 tag, installed using pip from repo source files. UPD 2: same thing when trying to install from PyPi release 0.2.7-rc4

long2ice commented 1 year ago

Try pip install asyncmy --upgrade --pre to install 0.2.7-rc4

dmitrii-begal commented 1 year ago

Nah, .c files are missing in .tar.gz, so it does not build correctly on MacOS ARM64 (no wheels for my platform).

% pip install asyncmy --upgrade --pre
Collecting asyncmy
  Downloading asyncmy-0.2.7rc4.tar.gz (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 289.9 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: asyncmy
  Building wheel for asyncmy (pyproject.toml) ... done
  Created wheel for asyncmy: filename=asyncmy-0.2.7rc4-cp311-cp311-macosx_12_0_arm64.whl size=74757 sha256=d83597c6bcc17e2e3afcc9132bb3a7f16ddb704c1b7d35206c3db19d74e44662
  Stored in directory: /Users/dmitrijbegal/Library/Caches/pip/wheels/69/73/a3/912281efcb1bfab75b0b496a804a665a43cfe50a73e184335a
Successfully built asyncmy
Installing collected packages: asyncmy
Successfully installed asyncmy-0.2.7rc4

% python 
Python 3.11.0 (v3.11.0:deaf509e8f, Oct 24 2022, 14:43:23) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import asyncmy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/dmitrijbegal/.local/share/virtualenvs/parsingapi_fastapi-DnakdfnS/lib/python3.11/site-packages/asyncmy/__init__.py", line 1, in <module>
    from .connection import Connection, connect  # noqa:F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'asyncmy.connection'

Although on Debian 10 installation is correct, because wheels are valid. At least it can be used on server. I guess issue should be reopened, as .tar.gz (present or not) still can't be used to properly build dependency if there is no wheels for the platform.

Aib0t commented 1 year ago

In my python 3.11 (Alpine) container with 0.2.7 rc4 setup it worked and launched properly.

update: tested on my Ubuntu 22.04 machine - also no issues.

long2ice commented 1 year ago

Looks like not problem of .c file because old release have no that also, need more work

dmitrii-begal commented 1 year ago

Sorry, I mislead you a bit. .tar.gz should not contain .c files. They are created during build.py execution (.pyx files get "cythonized"), when installing with pip using source files (not wheels). But when using poetry-core==1.5.0 they are not generated in installed package for unknown reason. Although they are generated with poetry-core==1.4.0, which is why pinning version in #49 fixed the issue with builds from source. Now that you removed version pinning, latest poetry-core==1.5.0 is used by pip when building from source on pip install asyncmy as stated in pyproject.toml. So the problem stays. So #49 did fix issue with installation from source. But due to changes in workflow (cibuildwheel appeared) wheels were not generated correctly. These are separate issues. During workflow changes you fixed cibuildwheel, but #49 fix was somehow overwritten :)

long2ice commented 1 year ago

Yes, so just need keep poetry-core==1.4.0 if you need build in local

long2ice commented 1 year ago

The reason maybe https://github.com/python-poetry/poetry-core/pull/318

long2ice commented 1 year ago

@dmitrii-begal Can you try rc5?

dmitrii-begal commented 1 year ago

@long2ice tried rc5

  1. Installation from source (.tar.gz) works perfectly on MacOS and Debian 10
  2. .whl installation on Debian 10 results in ModuleNotFoundError: No module named 'asyncmy.connection'.

I suppose 2nd happens because you removed CIBW_BEFORE_BUILD: pip3 install cython && make clean && cythonize -i -3 asyncmy/*.pyx line from CI.

casparwylie commented 1 year ago

rc5 just worked for me on Mac OS ARM python 3.10 (having not worked since the release and getting .connections import error)

long2ice commented 1 year ago

After extract whl, I found that py310 has py39.so, but for py38 and py39 is right, I don't know why.

image image image
long2ice commented 1 year ago

Please try rc6

jossefaz commented 1 year ago

same issue here. Tried to downgrade to previous version without success. I also use poetry. Here is my traceback :

[2023-02-04 21:58:59 +0000] [1] [INFO] Starting gunicorn 20.1.0
[2023-02-04 21:58:59 +0000] [1] [INFO] Listening at: http://0.0.0.0:4000 (1)
[2023-02-04 21:58:59 +0000] [1] [INFO] Using worker: uvicorn.workers.UvicornWorker
[2023-02-04 21:58:59 +0000] [8] [INFO] Booting worker with pid: 8
[2023-02-04 21:58:59 +0000] [9] [INFO] Booting worker with pid: 9
[2023-02-04 21:58:59 +0000] [10] [INFO] Booting worker with pid: 10
[2023-02-04 21:58:59 +0000] [8] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/app/.venv/lib/python3.11/site-packages/uvicorn/workers.py", line 66, in init_process
    super(UvicornWorker, self).init_process()
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
                ^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
                    ^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
           ^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(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 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, 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 "/app/pserver/server.py", line 4, in <module>
    from pserver.create_server import ServerBuilder
  File "/app/pserver/create_server.py", line 23, in <module>
    from pserver.db import database
  File "/app/pserver/db.py", line 7, in <module>
    database = databases.Database(f"mysql+asyncmy://{os.getenv('CONN_STRING')}")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/databases/core.py", line 62, in __init__
    backend_cls = import_from_string(backend_str)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/databases/importer.py", line 21, in import_from_string
    raise exc from None
  File "/app/.venv/lib/python3.11/site-packages/databases/importer.py", line 18, in import_from_string
    module = importlib.import_module(module_str)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/databases/backends/asyncmy.py", line 6, in <module>
    import asyncmy
  File "/app/.venv/lib/python3.11/site-packages/asyncmy/__init__.py", line 1, in <module>
    from .connection import Connection, connect  # noqa:F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'asyncmy.connection'
[2023-02-04 21:58:59 +0000] [8] [INFO] Worker exiting (pid: 8)
[2023-02-04 21:58:59 +0000] [9] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/app/.venv/lib/python3.11/site-packages/uvicorn/workers.py", line 66, in init_process
    super(UvicornWorker, self).init_process()
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
                ^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
                    ^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
           ^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(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 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, 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 "/app/pserver/server.py", line 4, in <module>
    from pserver.create_server import ServerBuilder
  File "/app/pserver/create_server.py", line 23, in <module>
    from pserver.db import database
  File "/app/pserver/db.py", line 7, in <module>
    database = databases.Database(f"mysql+asyncmy://{os.getenv('CONN_STRING')}")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/databases/core.py", line 62, in __init__
    backend_cls = import_from_string(backend_str)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/databases/importer.py", line 21, in import_from_string
    raise exc from None
  File "/app/.venv/lib/python3.11/site-packages/databases/importer.py", line 18, in import_from_string
    module = importlib.import_module(module_str)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/databases/backends/asyncmy.py", line 6, in <module>
    import asyncmy
  File "/app/.venv/lib/python3.11/site-packages/asyncmy/__init__.py", line 1, in <module>
    from .connection import Connection, connect  # noqa:F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'asyncmy.connection'
[2023-02-04 21:58:59 +0000] [9] [INFO] Worker exiting (pid: 9)
[2023-02-04 21:58:59 +0000] [1] [WARNING] Worker with pid 10 was terminated due to signal 15
[2023-02-04 21:58:59 +0000] [1] [WARNING] Worker with pid 9 was terminated due to signal 15
[2023-02-04 21:58:59 +0000] [1] [INFO] Shutting down: Master
[2023-02-04 21:58:59 +0000] [1] [INFO] Reason: Worker failed to boot.

How to install specific rc in poetry ? Using this syntax asyncmy = "0.2.7rc6" did not work for me ? someone can help plz 🆘 ?

long2ice commented 1 year ago

@jossefaz What's your version? rc6?

jossefaz commented 1 year ago

@long2ice : I even do not manage to install the rc6 as I am not sure how to do so with poetry.

Using this syntax asyncmy = "0.2.7rc6" did not work for me

jossefaz commented 1 year ago

Ok I manage to install it by adding this line :

asyncmy = {version = "0.2.7rc6", allow-prereleases = true}

To my pyproject.toml

And here is my new traceback

#9 12.02   Processing /root/.cache/pypoetry/artifacts/f0/ec/5d/33714fafdde3376bf7133fa1fbbe8379f4dc111eee3d156941f188fb9e/asyncmy-0.2.7rc6.tar.gz
#9 12.02     Installing build dependencies: started
#9 12.02     Installing build dependencies: finished with status 'done'
#9 12.02     Getting requirements to build wheel: started
#9 12.02     Getting requirements to build wheel: finished with status 'done'
#9 12.02     Preparing metadata (pyproject.toml): started
#9 12.02     Preparing metadata (pyproject.toml): finished with status 'done'
#9 12.02   Building wheels for collected packages: asyncmy
#9 12.02     Building wheel for asyncmy (pyproject.toml): started
#9 12.02     Building wheel for asyncmy (pyproject.toml): finished with status 'error'
#9 12.02     error: subprocess-exited-with-error
#9 12.02     
#9 12.02     × Building wheel for asyncmy (pyproject.toml) did not run successfully.
#9 12.02     │ exit code: 1
#9 12.02     ╰─> [97 lines of output]
#9 12.02         A setup.py file already exists. Using it.
#9 12.02         Compiling asyncmy/charset.pyx because it changed.
#9 12.02         Compiling asyncmy/connection.pyx because it changed.
#9 12.02         Compiling asyncmy/converters.pyx because it changed.
#9 12.02         Compiling asyncmy/cursors.pyx because it changed.
#9 12.02         Compiling asyncmy/errors.pyx because it changed.
#9 12.02         Compiling asyncmy/pool.pyx because it changed.
#9 12.02         Compiling asyncmy/protocol.pyx because it changed.
#9 12.02         [1/7] Cythonizing asyncmy/charset.pyx
#9 12.02         [2/7] Cythonizing asyncmy/connection.pyx
#9 12.02         [3/7] Cythonizing asyncmy/converters.pyx
#9 12.02         [4/7] Cythonizing asyncmy/cursors.pyx
#9 12.02         warning: asyncmy/cursors.pyx:480:10: Overriding cdef method with def method.
#9 12.02         warning: asyncmy/cursors.pyx:489:10: Overriding cdef method with def method.
#9 12.02         warning: asyncmy/cursors.pyx:503:10: Overriding cdef method with def method.
#9 12.02         warning: asyncmy/cursors.pyx:518:10: Overriding cdef method with def method.
#9 12.02         [5/7] Cythonizing asyncmy/errors.pyx
#9 12.02         [6/7] Cythonizing asyncmy/pool.pyx
#9 12.02         [7/7] Cythonizing asyncmy/protocol.pyx
#9 12.02         running build
#9 12.02         running build_py
#9 12.02         creating /tmp/pip-req-build-54yzdgdp/build
#9 12.02         creating /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311
#9 12.02         creating /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/__init__.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/version.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/auth.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/structs.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/contexts.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/optionfile.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         creating /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         copying asyncmy/constants/ER.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         copying asyncmy/constants/__init__.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         copying asyncmy/constants/CR.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         copying asyncmy/constants/CLIENT.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         copying asyncmy/constants/COMMAND.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         copying asyncmy/constants/SERVER_STATUS.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         copying asyncmy/constants/FLAG.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         copying asyncmy/constants/FIELD_TYPE.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         copying asyncmy/constants/COLUMN.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/constants
#9 12.02         creating /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/table.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/__init__.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/utils.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/bitmap.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/packets.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/events.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/row_events.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/gtid.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/constants.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/binlogstream.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/errors.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/replication/column.py -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy/replication
#9 12.02         copying asyncmy/charset.pyx -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/charset.c -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/connection.c -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/errors.c -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/errors.pyx -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/cursors.pyx -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/converters.pyx -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/cursors.c -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/charset.pxd -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/converters.c -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/protocol.pyx -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/pool.pyx -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/pool.c -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/protocol.c -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         copying asyncmy/connection.pyx -> /tmp/pip-req-build-54yzdgdp/build/lib.linux-aarch64-cpython-311/asyncmy
#9 12.02         running build_ext
#9 12.02         building 'asyncmy.charset' extension
#9 12.02         creating /tmp/pip-req-build-54yzdgdp/build/temp.linux-aarch64-cpython-311
#9 12.02         creating /tmp/pip-req-build-54yzdgdp/build/temp.linux-aarch64-cpython-311/asyncmy
#9 12.02         gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/app/.venv/include -I/usr/local/include/python3.11 -c asyncmy/charset.c -o /tmp/pip-req-build-54yzdgdp/build/temp.linux-aarch64-cpython-311/asyncmy/charset.o
#9 12.02         error: command 'gcc' failed: No such file or directory
#9 12.02         Traceback (most recent call last):
#9 12.02           File "/app/.venv/lib/python3.11/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 351, in <module>
#9 12.02             main()
#9 12.02           File "/app/.venv/lib/python3.11/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 333, in main
#9 12.02             json_out['return_val'] = hook(**hook_input['kwargs'])
#9 12.02                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#9 12.02           File "/app/.venv/lib/python3.11/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 249, in build_wheel
#9 12.02             return _build_backend().build_wheel(wheel_directory, config_settings,
#9 12.02                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#9 12.02           File "/tmp/pip-build-env-2weqcx1y/overlay/lib/python3.11/site-packages/poetry/core/masonry/api.py", line 56, in build_wheel
#9 12.02             return WheelBuilder.make_in(
#9 12.02                    ^^^^^^^^^^^^^^^^^^^^^
#9 12.02           File "/tmp/pip-build-env-2weqcx1y/overlay/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 85, in make_in
#9 12.02             wb.build(target_dir=directory)
#9 12.02           File "/tmp/pip-build-env-2weqcx1y/overlay/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 118, in build
#9 12.02             self._build(zip_file)
#9 12.02           File "/tmp/pip-build-env-2weqcx1y/overlay/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 179, in _build
#9 12.02             self._run_build_command(setup)
#9 12.02           File "/tmp/pip-build-env-2weqcx1y/overlay/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 217, in _run_build_command
#9 12.02             subprocess.check_call(
#9 12.02           File "/usr/local/lib/python3.11/subprocess.py", line 413, in check_call
#9 12.02             raise CalledProcessError(retcode, cmd)
#9 12.02         subprocess.CalledProcessError: Command '['/app/.venv/bin/python', '/tmp/pip-req-build-54yzdgdp/setup.py', 'build', '-b', '/tmp/pip-req-build-54yzdgdp/build']' returned non-zero exit status 1.
#9 12.02         [end of output]
#9 12.02     
#9 12.02     note: This error originates from a subprocess, and is likely not a problem with pip.
#9 12.02     ERROR: Failed building wheel for asyncmy
#9 12.02   Failed to build asyncmy
#9 12.02   ERROR: Could not build wheels for asyncmy, which is required to install pyproject.toml-based projects
long2ice commented 1 year ago

@jossefaz Looks like build error, please install gcc first. Becase arm64 has no whl prebuilt

jossefaz commented 1 year ago

@long2ice : seems working now. Still checking (will update finally soon). Thanks for helping !

logi commented 1 year ago

It's great that this works on rc6 but I'm going to have problems convincing our QA people to allow us to deploy builds to live which are based on pre-release libraries. How close are we to release here?