Closed dmitrii-begal closed 1 year ago
I notice that, could you make a PR? I have no enough time
Never worked with publishing to PyPi yet, will try to make it work :)
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.
Need some time to find why
@dmitrii-begal at version 0.2.4
it was working?
@dmitrii-begal the package works for me at version 0.2.4
on Python 3.11
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 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.
@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.
0.2.7rc3, that was just published fixed the issue for me
I will try to release 0.2.6 again and fix it
@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
Try pip install asyncmy --upgrade --pre
to install 0.2.7-rc4
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.
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.
Looks like not problem of .c file because old release have no that also, need more work
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 :)
Yes, so just need keep poetry-core==1.4.0 if you need build in local
The reason maybe https://github.com/python-poetry/poetry-core/pull/318
@dmitrii-begal Can you try rc5?
@long2ice tried rc5
.tar.gz
) works perfectly on MacOS and Debian 10.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.
rc5 just worked for me on Mac OS ARM python 3.10 (having not worked since the release and getting .connections import error)
After extract whl, I found that py310 has py39.so, but for py38 and py39 is right, I don't know why.
Please try rc6
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 🆘 ?
@jossefaz What's your version? rc6?
@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
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
@jossefaz Looks like build error, please install gcc first. Becase arm64 has no whl prebuilt
@long2ice : seems working now. Still checking (will update finally soon). Thanks for helping !
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?
PyPi misses source distribution files (
.tar.gz
) which prevents latest 0.2.6 version to be installed on some systems usingpip
orpipenv
. 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.