Ответы пользователя по тегу macOS
  • Как на MacOS правильно подключить Django к БД в Docker?

    Sergei_Erjemin
    @Sergei_Erjemin Автор вопроса
    Улыбайся, будь самураем...
    Пока разбирался, проделал несколько итерация установить/удалить/переустановить (примерно час заняло) -- поэтому не могу сказать, что конкретно сработало. Выводы такие:
    • mysql-connector-python -- не нужен. Похоже именно он вставал колом, и не давал коннекта в базу данных. Похоже, что его притащило в виртуальное окружение во время предыдущих экспериментов, и я его принял за зависимость..
    • симлинки не нужны -- mysqlclient отлично находит сокет базы.

    В результате последовательность действий:
    brew install mariadb-connector-c
    source ~/path-to-project-enveroment/bin/activate
    pip install mysqlclient
    
    # выключаем окружение отключаем системный коннектор (можно не делать)
    deactivate
    brew unlink mariadb-connector-c

    После обновления macOS до 13.0 Ventura потребуется предварительно сделать команду:
    xcode-select --install
    И повторить все еще один раз.

    P.S. Отдельную проблему создает то, что имя хоста на macOS может меняться. У меня код в Django проверяет на каком хосте запущен и подставляет соответствующие настройки в settings.py ... В моем случае, в hostname прописано m1, но проверка через Python показывает:
    import socket
    socket.gethostname()
    'm1.N1'

    Догадки, но кажется добавление N1 как-то связано с моделью домашнего интернет-роутера... Почему macOS его добавляет, а другие компы в сети нет -- загадка. Иногда hostname может становится 'm1.local' (и для этого не надо перезагружаться, достаточно просто чтоб компьютер перешел в режим сна... хотя х.з. ... в macOS гибридный режим сна, и если во время сна перегружается по питанию, внешне это никак не заметно). В общем, это странное поведение hostname тоже попортило немного крови. :)
    Ответ написан
    Комментировать