Zappa: Нет модуля с именем '_cffi_backend'
Недавно я загрузил Django-приложение с использованием Zappa, которое работало совершенно нормально.
Теперь, я хотел обновить это приложение, и оно внезапно выдает мне эту ошибку: (Изменения, которые я сделал, были не очень большими, удалил blank=True в моем models.py)
ModuleNotFoundError: No module named '_cffi_backend'
Traceback (most recent call last):
File "/var/task/handler.py", line 657, in lambda_handler
return LambdaHandler.lambda_handler(event, context)
File "/var/task/handler.py", line 251, in lambda_handler
handler = cls()
File "/var/task/handler.py", line 160, in __init__
wsgi_app_function = get_django_wsgi(self.settings.DJANGO_SETTINGS)
File "/var/task/zappa/ext/django_zappa.py", line 21, in get_django_wsgi
return get_wsgi_application()
File "/tmp/mysite/django/core/wsgi.py", line 12, in get_wsgi_application
django.setup(set_prefix=False)
File "/tmp/mysite/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/tmp/mysite/django/apps/registry.py", line 122, in populate
app_config.ready()
File "/tmp/mysite/core/apps.py", line 8, in ready
from core import signals
File "/tmp/mysite/core/signals.py", line 1, in <module>
import cairosvg
File "/tmp/mysite/cairosvg/__init__.py", line 26, in <module>
from . import surface # noqa isort:skip
File "/tmp/mysite/cairosvg/surface.py", line 9, in <module>
import cairocffi as cairo
File "/tmp/mysite/cairocffi/__init__.py", line 17, in <module>
from ._generated.ffi import ffi
File "/tmp/mysite/cairocffi/_generated/ffi.py", line 2, in <module>
import _cffi_backend
Я использую пакет CairoSVG и при его отключении мое приложение снова работает.
Странно то, что я использовал этот пакет и в предыдущей версии без каких-либо проблем.
при обновлении с помощью zappa update dev он показывает мне следующее:
Calling update for stage dev..
Downloading and installing dependencies..
- reportlab==3.6.6: Using locally cached manylinux wheel
- pyproj==3.3.0: Using locally cached manylinux wheel
- psycopg2-binary==2.9.3: Using locally cached manylinux wheel
'releases'
Packaging project as gzipped tarball.
Я заметил, что в предыдущих обновлениях была 4-я зависимость под названием "cffi", но теперь она исчезла.
Я понятия не имею, как это происходит и откуда берутся эти зависимости, потому что у меня в requirements.txt есть гораздо больше
Не знаю точно, что пошло не так, но я все исправил:
- полностью удаляет мою виртуальную среду
- создаю новую.
- установка пакетов с помощью
pip install -r requirements.txt --no-cache-dir
--no-cache-dir было действительно важным добавлением.