Pip установлен, но не может добавлять пакеты Python, такие как Django

Я настраиваю свой новый ноутбук Macbook air M1 под управлением Sonoma. Я успешно загрузил Homebrew и, кажется, загрузил pip (однако он мог находиться не в том каталоге). Но при запуске pip3 install Django я получаю это сообщение об ошибке:

python3 -m pip install Django                                             ─╯
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try brew install
    xyz, where xyz is the package you are trying to
    install.

    If you wish to install a Python library that isn't in Homebrew,
    use a virtual environment:

    python3 -m venv path/to/venv
    source path/to/venv/bin/activate
    python3 -m pip install xyz

    If you wish to install a Python application that isn't in Homebrew,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. You can install pipx with

    brew install pipx

    You may restore the old behavior of pip by passing
    the '--break-system-packages' flag to pip, or by adding
    'break-system-packages = true' to your pip.conf file. The latter
    will permanently disable this error.

    If you disable this error, we STRONGLY recommend that you additionally
    pass the '--user' flag to pip, or set 'user = true' in your pip.conf
    file. Failure to do this can result in a broken Homebrew installation.

    Read more about this behavior here: <https://peps.python.org/pep-0668/>

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Не совсем уверен, куда идти дальше, так как я пробовал Brew install pipx и pipx install Django. Если pip загружается по неправильному пути, есть ли простой способ решить эту проблему?

Я просто ожидал, что Django будет установлен.

использование which pip3 показывает путь:

which pip3                                                                ─╯
/opt/homebrew/bin/pip3

что должно быть правильным для Mac m1?

pip3 --version:

pip 24.0 from /opt/homebrew/lib/python3.12/site-packages/pip (python 3.12)

что, как я предполагаю, является конфликтом?

Может ли этот ответ быть решением?

Douwe de Haan 09.04.2024 10:52
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
1 048
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Здесь нет конфликтов, и все работает так, как ожидалось. Начиная с PEP668, установки Python могут быть помечены как externally-managed, что означает, что они были установлены с использованием менеджера пакетов (например, Brew), который предотвращает установку pip непосредственно на них, чтобы у вас не было путаницы с двумя менеджерами пакетов (brew и pip). ) каким-то образом управляя частями одной и той же установки Python.

Сообщение об ошибке также дает решение

Используйте этот код для создания виртуальной среды:

python3 -m venv path/to/venv

Используйте этот код для установки django и всех других необходимых вам зависимостей:

source path/to/venv/bin/activate
python3 -m pip install xyz

и когда вы хотите запустить скрипт Python:

source path/to/venv/bin/activate
python3 /path/to/script.py

Обратите внимание, что в каждом терминале вам нужно запустить строку source ... только один раз.

Возможно brew install Django сможет вам помочь.

Другие вопросы по теме