Не ставится PIP

Автор xandvik, 27 февраля 2023, 09:51:00

« назад - далее »

0 Пользователи и 3 гостей просматривают эту тему.

xandvik

Че ему надо не пойму, уже весь гугл наизнанку вывернул. Помогите!!!

 python3 -m pip install --upgrade pip
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
   
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
   
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
   
    See /usr/share/doc/python3.11/README.venv for more information.

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.
Nickname XandVik registred!

ek-nfn

apt install python3 python3-pip

pip3 -V
или
pip -V
Debian 12  -> Devuan 5 xfce -> MX Linux 23

ogost

Цитата: xandvik от 27 февраля 2023, 09:51:00To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
У вас прямо в ошибке подсказка.

xandvik

#3
Так установлено. Нагуглил что теперь всё это якобы только через virtualenv работать будет. Теперь с этой фигней надо разбираться. Подкинули геморроя. Уже начинаю жалеть что с федоры ушел.

27 февраля 2023, 10:44:09
Цитата: ogost от 27 февраля 2023, 10:37:13
Цитата: xandvik от 27 февраля 2023, 09:51:00To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
У вас прямо в ошибке подсказка.

только mous@debian:~$ 💀 apt search  python3-xyz
Сортировка... Готово
Полнотекстовый поиск... Готово
python3-xyzservices/unstable 2022.9.0-2 all
  Source of XYZ tiles providers
Но это не решает проблему


27 февраля 2023, 11:07:29
Короче решил так!!!

sudo apt install -y python3-venv
python3 -m venv .local/
source .local/bin/activate
python3 -m pip install --upgrade pip


Там же ставить и всякие модули например
anonymous@debian:~$ 💀  source .local/bin/activate
(.local) anonymous@debian:~$ 💀 pip install speedtest-cli
Collecting speedtest-cli
  Downloading speedtest_cli-2.1.3-py2.py3-none-any.whl (23 kB)
Installing collected packages: speedtest-cli
Successfully installed speedtest-cli-2.1.3



Не знаю верно ли я всё сделал или это костыль какой то....

Кто шарит поделитесь мнением и знаниями!!!!!

Nickname XandVik registred!

ogost

Цитата: xandvik от 27 февраля 2023, 10:42:14только mous@debian:~$ 💀 apt search  python3-xyz
Сортировка... Готово
Полнотекстовый поиск... Готово
python3-xyzservices/unstable 2022.9.0-2 all
  Source of XYZ tiles providers
Но это не решает проблему
Вы не поняли сути сообщения в ошибке.
Ошибка в первом вашем посте сообщает, что вы пытаетесь установить пакет в системное окружение python. Для установки пакетов в системное окружение вам предлагают воспользоваться командой "apt install python-xyz", где "xyz" - это название нужного вам пакета, не надо там "xyz" дословно в командную строку забивать.
Это по первому вопросу.
По второму вопросу - опять же из текста ошибки вам предлагают воспользоваться командой pipx install <ваш пакет>, если данного пакета нет в репозитории Debian. pipx устанавливается отдельно apt install pipx.

venv в основном используется в разработке, когда нужны отдельные виртуальные окружения для каждого из проектов, но вы можете ваш .local добавить в PATH и все пакеты оттуда будут доступны в консоли. pipx хорош тем, что для каждого пакета держит отдельное окружение. как-то так, надеюсь смог доступно объяснить...

ek-nfn

Цитата: ogost от 27 февраля 2023, 13:02:41Вы не поняли сути сообщения в ошибке.
Не оправдали надежд, я ожидал, что кто-нибудь предложит xyz заменить прописными.
Debian 12  -> Devuan 5 xfce -> MX Linux 23

ek-nfn

#6
Да, проблема есть, началась с Debian-12 (версии питона 3.11). Называется - «python virtual environment».
Есть надежда, что вернут как было, так как создает дополнительный гемор при работе с софтом python3. Либо пытаться откатится вниз с версии 3.11. Либо смириться и под каждую версию питона создавать и активировать свою виртуальную среду, работать в ней. Типа так:
Создаем:
python3 -m venv tutorial-env  (в домашней создается каталог, содержащий копию интерпретатора Python)
Активируем:
source tutorial-env/bin/activate
(tutorial-env) nfn@pc1:~$
Работаем:
(tutorial-env) nfn@pc1:~$ pip install нужный_пакет

Результаты работы с питоном автоматом перемещаются в /home/user/output/

Деактивируем:
(tutorial-env) nfn@pc1:~$ deactivate
nfn@pc1:~$
Debian 12  -> Devuan 5 xfce -> MX Linux 23

ogost

Пользуемся pipx и никаких костылей с гемороями не надо.

almukantarat

#8
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux trixie/sid"
NAME="Debian GNU/Linux"
VERSION_CODENAME=trixie
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

$ pipx install pygrib
'pygrib' already seems to be installed. Not modifying existing installation in '/home/gasha/.local/pipx/venvs/pygrib'. Pass '--force' to force installation.

$ python3 test.py
Traceback (most recent call last):
  File "/home/gasha/Python/PycharmProjects/SkyField/test.py", line 1, in <module>
    import pygrib as pg
ModuleNotFoundError: No module named 'pygrib'

В пакетах python3-pygrib нет. Через PyCharm всё работает, но он сам своё окружение создаёт.

P.S. Решил этот вопрос путём переименования файла /usr/lib/python3.11/EXTERNALLY-MANAGED
Информация взята отсюда.
Debian Stable x86-64

Veter

По второму вопросу - опять же из текста ошибки вам предлагают воспользоваться командой pipx install <ваш пакет>, если данного пакета нет в репозитории Debian. pipx устанавливается отдельно apt install pipx.

Спасибо вам святой человек