Почему контейнер python3.6 использует /usr/lib из python 3.9

Я запускаю docker contain с помощью FROM python:3.6

Он устанавливает и python 3.6 и 3.9, как я заметил:

Все установленные мной программы находятся в версии 3.6, включая mysqlclient

Но когда он пытается импортировать _mysql, он проверяет /usr/lib из python3.9, что выдает ошибку, потому что он в 3.6, а не в 3.9. File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module ImportError: cannot import name '_mysql' from partially initialized module 'MySQLdb' (most likely due to a circular import) (/usr/local/lib/python3.6/site-packages/MySQLdb/__init__.py) Почему возникает эта проблема и как ее предотвратить?

Вот журналы для приложения django, я получаю ошибку:

У меня уже была такая проблема, я добавил виртуальный env с нужными мне пакетами и добавил

WSGIDaemonProcess example.com python-home=/path/to/venv python-path=/path/to/mysite.com
WSGIProcessGroup example.com

Подробности здесь Документы Django

Ответ не почему, а исправление + использование Venv в вашей ситуации лучше

Вернуться на верх