Рецепт. Не устанавливается библиотека в pip: «error: externally-managed-environment». Решение проблемы в Manjaro Linux. Linux статьи
Написать статью
Войдите, чтобы писать статьи

Рецепт. Не устанавливается библиотека в pip: «error: externally-managed-environment». Решение проблемы в Manjaro Linux

30
Материал написан пользователем сайта.

Введение

При установке какой-либо библиотеки появляется ошибка error: externally-managed-environment. В данной заметке я расскажу, как решить данную проблему.

Как выглядит ошибка

Скриншот ошибки

Решение проблемы

Данная проблема решается просто. Нужно дописать команду. К примеру, нам нужно установить библиотеку setuptools. К команде нужно дописать: --break-system-packages.

Таким образом, данная команда установки пакета будет выглядеть так:

pip3 install setuptools --break-system-packages

См. также:

https://stackoverflow.com/a/75722775

https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-break-system-packages

Лайков: 0
войдите, чтобы ставить лайки
30

Комментарии

xKDE
Активный пользователь
Активный
20.01.2024
10:16
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+5
войдите, чтобы ставить лайки
Это не решение проблемы! Это создание новой, более серьезной! Вы хотя бы сами сначала поняли, что советуете! Хотя о чём это я...
Б - безответственность
scorpii
Активный пользователь
Активный
20.01.2024
11:10
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийxKDEРодительский комментарий
+4
войдите, чтобы ставить лайки
Как всегда - в точку! Более того, на статью это никак не тянет. В данном контексте нужно разобрать все возможные варианты и вникнуть в суть каждого. Хотя о чем это я...
igorborisov
Активный пользователь
Активный
20.01.2024
15:44
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
+3
войдите, чтобы ставить лайки
Действительно, без остальных вариантов решения проблемы это выглядит как безответственный пост. Как админ такое пропустил...
choice
Активный пользователь
Активный
20.01.2024
10:42
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+4
войдите, чтобы ставить лайки
Я не разбираюсь в вопросе, но меня настораживает фраза:
--break-system-packages
Она совсем не звучит как решение проблемы.
scorpii
Активный пользователь
Активный
20.01.2024
11:01
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийchoiceРодительский комментарий
+2
войдите, чтобы ставить лайки
Allow pip to modify an EXTERNALLY-MANAGED Python installation
Это не решение, а - костыль, который потом боком вылезет.
Потому что можете столкнуться с будущими неработающими установками пакетов Python, после того, как успешно забудете, что использовали данный флаг в качестве игнорирования предупреждения этого пакета и получите конфликты.
igorborisov
Активный пользователь
Активный
20.01.2024
15:42
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийchoiceРодительский комментарий
+2
войдите, чтобы ставить лайки
Это грязный хак, обход проблемы (workaround) на отшибись, тот самый опасный комментарий из stack overflow и вообще игнорирование предупреждений о проблемах. Потом после ошибок будет история - сменил дистрибутив или вернулся на windows
AquaVerso
Активный пользователь
Активный
20.01.2024
10:45
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+4
войдите, чтобы ставить лайки
Решение проблемы: python -m venv ~/.local и делов-то :)
igorborisov
Активный пользователь
Активный
20.01.2024
15:40
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийAquaVersoРодительский комментарий
+1
войдите, чтобы ставить лайки
Либо искать пакет в своем пакетном менеджере с именем python-<имя pip-библиотеки)
Nik
22.01.2024
14:14
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийAquaVersoРодительский комментарий
0
войдите, чтобы ставить лайки
Ну да. В Debian с текущего выпуска(12) на это перешли. Думал, что в Arch-ах, Fedora-ах раньше это сделали.
[аноним]
20.01.2024
11:35
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Оказалось, Неон не логинит без мыши. Смешно. Когда, вы говорите, 13-я у M$ ?
Minor748
Активный пользователь
Активный
20.01.2024
13:30
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Я почему-то не удивлён, что там надо что-то ломать.
Ставил Манджаро на днях, так эта "зараза" не хотела выключаться: вместо выключения или перезагрузки отправляла меня на экран логина, tty не спасал (там ошибка), только "хард резет" с кнопки.

Установить пакет или обновления через окно терминала тоже не давало, мол, процесс pamac и так запущен. Чего #*№%?!
А ничего, только что я только вошёл в систему? При этом завершить все процессы "pamac" через системный монитор/диспетчер задач тоже не даёт.

Некоторые пакеты тоже собрать не даёт (наверно, благодаря описанной ошибке). Снёс эту ерунду и установил Artix, который офигенно быстро работает. Ещё установил там Cromite-bin.
scorpii
Активный пользователь
Активный
20.01.2024
13:56
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+1
войдите, чтобы ставить лайки
Зря Вы так на манжару. У меня 2 года как переехала на "новенький" (уже не совсем) ссд. Все работает и проблем практически нет. Правда от оригинальной манжары там мало что осталось, я ее полностью переделал. Памак-ом не пользуюсь, с ним могут быть "приколы", для обновления можете смело брать консольную псевдографическую тулзу bmenu (в которой объеденены полезные утилиты)
Артикс, а зачем он? Только если хочется в нон-системд, иначе есть арч.
Тогда уж "летучего голландца" лучше предпочесть и у него есть/будет интересная сборка на qtile.
Minor748
Активный пользователь
Активный
20.01.2024
14:12
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
0
войдите, чтобы ставить лайки
1 В этом, возможно, и ответ, что у нас "были" 2 разные манджары. Это была чистая и свежеустановленная. Если даже в таком варианте что-то не работает, то дальше я пытаться не стану.

2 Памак я использую, и говорил об этом ранее, преимущественно в качестве поиска. В качестве консольного помощника устанавливаю yay: из-за короткой команды + не надо sudo вводить. Туда "yay -S (название)". В консоли искать не удобно, это не калька. Даже статью тогда писал
https://pingvinus.ru/note/yay

3 Ещё писал про pikaur (https://pingvinus.ru/note/pikaur-aur-helper), который привлекательно выглядит, удобный. Но yay проще, да.

4 Ещё x230 писал про octopi. Его можно использовать, но поиск пакетов там затруднён, о чём изложил в комменте через пару дней https://pingvinus.ru/program/octopi
scorpii
Активный пользователь
Активный
20.01.2024
14:30
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+2
войдите, чтобы ставить лайки
Ради интереса, быстро поставил и покрутил "чистую и свежеустановленную" на виртуалку.
Ну прям все наоборот, ставил кде-шный вариант, у меня основная система на гноме. И зачем yay, если пользуетесь памак-ом и у него встроенная поддержка аур?
Пытаюсь сломать, ставлю все подряд, сношу, снова ставлю. Уж и снап-ы включил. Все делаю только через памак. Почему-то работает.
Остается один вариант (чтобы окончательно прибить зверька и наблюдать, как он исчезает))):
sudo rm -rf / --no-preserve-root
Minor748
Активный пользователь
Активный
20.01.2024
14:53
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
0
войдите, чтобы ставить лайки
См второй пункт: в консоли искать не удобно, через pamac я нахожу имена нужных пакетов, а потом ввожу их "yay -S имя_пакета имя_пакета2". Потому что да, там работает стабильнее, можно фоном оставить задачу, а нужные пакеты искать снова в pamac. Это удобно в чистой системе, когда нужно свой набор ПО прикладного накатить.
Hargard
Активный пользователь
Активный
20.01.2024
14:11
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
Потому что нечего умничать и ставить черт-знает-какое ядро.
Особенно если у него два нолика в конце.
LTS ставится по дефолту не просто так.
Minor748
Активный пользователь
Активный
20.01.2024
14:15
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийHargardРодительский комментарий
0
войдите, чтобы ставить лайки
https://video.ploud.jp/w/i9SwvW8SamX1d5gMz3RqW5

А какое ещё ядро там может быть, если систему я не крутил и не настраивал? Я заглянул туды, там и стояло LTS по умолчанию
scorpii
Активный пользователь
Активный
20.01.2024
14:34
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+1
войдите, чтобы ставить лайки
Так и сподвигнете меня на очередной скриншот с моей манжары.
Minor748
Активный пользователь
Активный
20.01.2024
15:00
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийscorpiiРодительский комментарий
0
войдите, чтобы ставить лайки
Тогда уж пишите, чтоб и другим польза была: что отключил, что удалил, чего добавил, как это всё не сломать, желательно с рецептами.
Сама по себе манька — самый популярный дистр в рамках сайта, больше только упоминаний в галерее про чистый Арч. Но это по той причине, что раньше редакторы указывали сразу "Arch Manjaro" или "Arch Arco" и другие Арч-основанные, то есть он "читерский" в рейтинге.
choice
Активный пользователь
Активный
20.01.2024
15:24
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
В моём представлении читерский - это когда специально, ну типа 10 обзоров про MX или по несколько о Кальке. А с арчем просто имела место не очень продуманная сортировка по группам.
Опс, читерский в ковычках - ладно, подходит по ассоциации.
choice
Активный пользователь
Активный
20.01.2024
14:41
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
+1
войдите, чтобы ставить лайки
Вот! Очередное высказывание о том, что сам себе представил.
Оно грамотное, нечего возразить.
Но смотрится как: "А Волга впадает в Каспийское море!"
CHikAZ
20.01.2024
15:10
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Еще вариант:
Создаем в /home/user/.config/pip/pip.conf с содержимым:
[global]
break-system-packages = true
xKDE
Активный пользователь
Активный
20.01.2024
15:28
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийCHikAZРодительский комментарий
+1
войдите, чтобы ставить лайки
Ещё один!)
igorborisov
Активный пользователь
Активный
20.01.2024
15:45
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийCHikAZРодительский комментарий
+3
войдите, чтобы ставить лайки
Удалите комментарий... Это уже не смешно, кто-то реально повторит это на своей системе
olegus
Активный пользователь
Активный
28.01.2024
06:11
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийCHikAZРодительский комментарий
0
войдите, чтобы ставить лайки
И pip будет регулярно ломать систему.
igorborisov
Активный пользователь
Активный
20.01.2024
15:39
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Это вредный совет! Надо использовать venv или искать пакет в пакетном менеджере системы с именем python-<имя pip-бибоиотеки>
Minor748
Активный пользователь
Активный
20.01.2024
18:49
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийigorborisovРодительский комментарий
+3
войдите, чтобы ставить лайки
Бибо и отёки )))
Я понимаю, что очепятка, но смотрится забавно
dc488
20.01.2024
20:28
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийMinor748Родительский комментарий
0
войдите, чтобы ставить лайки
:) :) :) :) :) :)
firecutter
Активный пользователь
Активный
20.01.2024
20:43
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
То есть даже суффикс «--break-system-packages» как бы ни на что не намекает?
olegus
Активный пользователь
Активный
28.01.2024
06:10
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Ломать систему ради pip? Есть другие решения:
1.Пакетный менеджер (python-* или *-python)
2.Создать виртуальное окружение Python(vitrualenv)

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила