파이썬 ModuleNotFoundError: No module named '_cffi_backend'
pymysql을 새롭게 설치해 예제 코드를 실행했더니 이런 오류가 발생하는군요. ^^
Traceback (most recent call last):
File "/home/testusr/.local/lib/python3.6/site-packages/uvicorn/protocols/http/h11_impl.py", line 373, in run_asgi
result = await app(self.scope, self.receive, self.send)
File "/home/testusr/.local/lib/python3.6/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
return await self.app(scope, receive, send)
File "/home/testusr/.local/lib/python3.6/site-packages/fastapi/applications.py", line 269, in __call__
await super().__call__(scope, receive, send)
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/applications.py", line 124, in __call__
await self.middleware_stack(scope, receive, send)
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/middleware/errors.py", line 184, in __call__
raise exc
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/middleware/errors.py", line 162, in __call__
await self.app(scope, receive, _send)
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/middleware/base.py", line 68, in __call__
response = await self.dispatch_func(request, call_next)
File "/mnt/d/workshop2/python-agent/jennifer/wrap/middleware_fastapi.py", line 121, in dispatch
raise err
File "/mnt/d/workshop2/python-agent/jennifer/wrap/middleware_fastapi.py", line 97, in dispatch
response = await call_next(request)
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/middleware/base.py", line 46, in call_next
raise app_exc
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/middleware/base.py", line 36, in coro
await self.app(scope, request.receive, send_stream.send)
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/exceptions.py", line 93, in __call__
raise exc
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/exceptions.py", line 82, in __call__
await self.app(scope, receive, sender)
File "/home/testusr/.local/lib/python3.6/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
raise e
File "/home/testusr/.local/lib/python3.6/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
await self.app(scope, receive, send)
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/routing.py", line 670, in __call__
await route.handle(scope, receive, send)
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/routing.py", line 266, in handle
await self.app(scope, receive, send)
File "/home/testusr/.local/lib/python3.6/site-packages/starlette/routing.py", line 65, in app
response = await func(request)
File "/home/testusr/.local/lib/python3.6/site-packages/fastapi/routing.py", line 232, in app
dependant=dependant, values=values, is_coroutine=is_coroutine
File "/home/testusr/.local/lib/python3.6/site-packages/fastapi/routing.py", line 160, in run_endpoint_function
return await dependant.call(**values)
File "./main.py", line 274, in mysql_test
text3 = test_pymysql_1()
File "./main.py", line 512, in test_pymysql_1
con = pymysql.connect(host=mysql_ip, user="...", password="...", database="...", charset='utf8')
File "/mnt/d/testapp/test.py", line 354, in handler
raise e
File "/mnt/d/testapp/test.py", line 344, in handler
origin_connection = connect(*args, **kwargs)
File "/home/testusr/.local/lib/python3.6/site-packages/pymysql/connections.py", line 353, in __init__
self.connect()
File "/home/testusr/.local/lib/python3.6/site-packages/pymysql/connections.py", line 633, in connect
self._request_authentication()
File "/home/testusr/.local/lib/python3.6/site-packages/pymysql/connections.py", line 921, in _request_authentication
auth_packet = self._process_auth(plugin_name, auth_packet)
File "/home/testusr/.local/lib/python3.6/site-packages/pymysql/connections.py", line 957, in _process_auth
return _auth.caching_sha2_password_auth(self, auth_packet)
File "/home/testusr/.local/lib/python3.6/site-packages/pymysql/_auth.py", line 265, in caching_sha2_password_auth
data = sha2_rsa_encrypt(conn.password, conn.salt, conn.server_public_key)
File "/home/testusr/.local/lib/python3.6/site-packages/pymysql/_auth.py", line 147, in sha2_rsa_encrypt
rsa_key = serialization.load_pem_public_key(public_key, default_backend())
File "/usr/lib/python3/dist-packages/cryptography/hazmat/backends/__init__.py", line 15, in default_backend
from cryptography.hazmat.backends.openssl.backend import backend
File "/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py", line 7, in <module>
from cryptography.hazmat.backends.openssl.backend import backend
File "/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py", line 16, in <module>
from cryptography import utils, x509
File "/usr/lib/python3/dist-packages/cryptography/x509/__init__.py", line 8, in <module>
from cryptography.x509.base import (
File "/usr/lib/python3/dist-packages/cryptography/x509/base.py", line 18, in <module>
from cryptography.x509.extensions import Extension, ExtensionType
File "/usr/lib/python3/dist-packages/cryptography/x509/extensions.py", line 20, in <module>
from cryptography.hazmat.primitives import constant_time, serialization
File "/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/constant_time.py", line 11, in <module>
from cryptography.hazmat.bindings._constant_time import lib
ModuleNotFoundError: No module named '_cffi_backend'
이름이 살짝 다른 cffi 모듈을 설치하시면 됩니다. ^^
python3 -m pip install cffi
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]