Проблема с установкой Django Tech Stack на Apple M1
Я только что получил новый Mac с чипом M1, но у меня проблемы с запуском нашего стека.
Это проект django с несколькими зависимостями. Большинство из них:
- grpcio (1.43.0)
- облачное видение Google ==2.1.0
- гуглкарты ==4.4.2
- firebase-admin==5.2.0
- google-api-core[grpc]==1.31.5 через
- firebase-admin
- google-api-python-клиент
- google-cloud-core
- google-cloud-firestore
- облачное хранилище Google
- облачное зрение Google
При установке на новый M1 с использованием python 3.9.10 я получаю эту ошибку
Traceback (most recent call last):
File "/Users/tl/work/project/./manage.py", line 15, in <module>
execute_from_command_line(sys.argv)
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/django/core/management/__init__.py", line 425, in execute_from_command_line
utility.execute()
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/django/core/management/__init__.py", line 401, in execute
django.setup()
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/django/apps/registry.py", line 122, in populate
app_config.ready()
File "/Users/tl/work/project/image_analysis/apps.py", line 8, in ready
import image_analysis.signal_handlers
File "/Users/tl/work/project/image_analysis/signal_handlers.py", line 6, in <module>
from image_analysis.analyze import analyze_images
File "/Users/tl/work/project/image_analysis/analyze.py", line 8, in <module>
from google.cloud import vision
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/google/cloud/vision/__init__.py", line 18, in <module>
from google.cloud.vision_v1.services.image_annotator.async_client import (
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/google/cloud/vision_v1/__init__.py", line 21, in <module>
from .services.image_annotator import ImageAnnotatorClient as IacImageAnnotatorClient
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/google/cloud/vision_v1/services/image_annotator/__init__.py", line 18, in <module>
from .client import ImageAnnotatorClient
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/google/cloud/vision_v1/services/image_annotator/client.py", line 27, in <module>
from google.api_core import gapic_v1 # type: ignore
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/google/api_core/gapic_v1/__init__.py", line 18, in <module>
from google.api_core.gapic_v1 import config
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/google/api_core/gapic_v1/config.py", line 23, in <module>
import grpc
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/grpc/__init__.py", line 22, in <module>
from grpc import _compression
File "/Users/tl/work/project/venv/lib/python3.9/site-packages/grpc/_compression.py", line 15, in <module>
from grpc._cython import cygrpc
ImportError: dlopen(/Users/tl/work/project/venv/lib/python3.9/site-packages/grpc/_cython/cygrpc.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '_EVP_DigestSignUpdate'
Я пытался гуглить этот вопрос безрезультатно. Я использую brew для установки большинства своих вещей, а также python.
У меня также есть эти настройки, установленные в моем файле .zshrc, для решения других проблем:
export CFLAGS="-I/opt/homebrew/opt/openssl/include"
export LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix zlib)/lib"
export CPPFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix zlib)/include"
export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1