Zappa:没有名为“_cffi_backend”的模块

Zappa: No module named '_cffi_backend'

我最近上传了一个使用 Zappa 的 Django 应用程序,运行 非常好。

现在,我想更新这个应用程序,它突然给我这个错误: (我所做的更改并没有那么多,在 models.py 中删除了一个 blank=True)

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.

我注意到在以前的更新中,有一个名为“cffi”的第四个依赖项,但现在已经消失了。

我不知道它是怎么消失的,也不知道这些依赖物从哪里来,因为我的 requirements.txt

里还有很多东西

不完全知道出了什么问题,但我通过以下方式修复了它:

  1. 完全删除我的虚拟环境
  2. 创建一个新的。
  3. 安装包 pip install -r requirements.txt --no-cache-dir

添加 --no-cache-dir 非常重要。