TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #210 · 3 фев.

Что делать если нужно поставить какую-то Python-библиотеку а root-прав нет? То есть в систему библиотеку никак и ничего не поставить. Есть как минимум два способа это решить правильно! 🔸 Сделать виртуальное окружение и ставить там что угодно. Это позволит создать полностью независимое исполняемое окружение для ваших приложений. Все библиотеки будут храниться в домашней директории юзера а значит доступ на запись имеется. Создать очень просто: python3 -m venv ~/venvs/myenvname Теперь активируем окружение # Linux source ~/venvs/myenvname/bin/activate # Windows %userprofile%\venvs\myenvname\Scripts\activate.bat Можно ставить любые библиотеки и запускать приложение. Это стандартный метод работы с любым проектом. Если еще не используете его, то пора начинать. Даже при наличии root доступа! 🔸 Бывает, что нет возможности запустить приложение из своего виртуального окружения. Например, его запускает какой-то сервис от вашего юзера и вставить активацию окружения вы не можете. В этом случае можно установить библиотеки для Python не глобально в систему, а только для юзера. Выполните этот код в консоли: python3 -m site Вы получите что-то такое: sys.path = [ '/home/user', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/home/user/.local/lib/python3.7/site-packages', ... ] USER_BASE: '/home/user/.local' USER_SITE: '/home/user/.local/lib/python3.7/site-packages' ENABLE_USER_SITE: True Нас интересует параметр USER_SITE. Это путь к пользовательским библиотекам, которые доступны по умолчанию, если они есть. Именно сюда будут устанавливаться модули если добавить флаг --user при установке чего-либо через pip pip install --user requests Для этой команды не нужны root-права. После неё можно запускать системный интерпретатор без виртуальных окружений и установленная библиотека будет доступна для текущего юзера. Параметр USER_BASE показывает корневую директорию для хранения user-библиотек. Её можно изменить с помощью переменной окружения PYTHONUSERBASE export PYTHONUSERBASE=~/pylibs python3 -m site ... USER_BASE: '/home/user/pylibs' USER_SITE: '/home/user/pylibs/lib/python3.7/site-packages' Получается некоторое подобие виртуального окружения для бедных 😁 которое можно менять через эту переменную (не делайте так!Лучше venv!) 🔸 Дописывание пути в PYTHONPATH Этот способ не входит в список "двух правильных", но тоже рабочий. Здесь придётся сделать всё несколько сложней. Сначала ставим библиотеку в любое место указывая путь установки pip3 install -t ~/mylibs modulename Библиотека установится без привязки к какому-либо интерпретатору. То есть по умолчанию не будет видна. Теперь в нужный момент добавляем этот путь в sys.path или в PYTHONPATH. Не буду советовать так делать. Единственный раз когда этот способ мне пригодился и решил поставленную задачу, это при создании общей библиотеки для кластера компьютеров. Модули лежат в сети и подгружаются для всех из одного и того же места. То есть обновлять файлы требуется только один раз а не на всех хосты отдельно. Минусы такого подхода: ▫️Нужно всем хостам пробить нужный путь в .bashrc или ещё куда-то чтобы он сетапился на старте. ▫️Чем больше хостов тем больше нагрузка на сеть. Иногда такой способ не подходит именно по этой причине. Тогда Ansible вам в помощь. ▫️Не очень подходит если хосты с разными операционками. Некоторые библиотеки различаются для Linux и Windows (там, где есть бинарники) и приходится мудрить более сложные схемы. #tricks#basic

Резултати

Пронајдени 1 слични објави

Пребарај: #danon

当前筛选 #danon清除筛选
MessageInABottle

@mib_messageinabottle · Post #6929 · 24.05.2024 г., 17:08

REACTIONS TO ICJ RULING ON ISRAEL'S GENOCIDE IN GAZA #Israel was ordered by the International Court of Justice (#ICJ), or world court, on Friday to halt its military assault on the city of #Rafah in #Gaza Here are some of the reactions so far, via #Reuters: #Hamas official Basem #Naim: We welcome the decision by the world court that calls on the Zionist occupation forces to end its military aggression on Rafah. We believe it is not enough since the occupation aggression across the Gaza Strip and especially in northern Gaza is just as brutal and dangerous. We call upon the UN security council to immediately implement this demand by the world court into practical measures to compel the Zionist enemy to implement the decision. We welcome the court’s request to allow investigation committees to reach the Gaza Strip to investigate acts of war of genocide against the Palestinian people and Hamas pledges to cooperate with investigation committees.” #Palestinian Authority spokesperson #AbuRudeineh: The presidency welcomes the decision issued by the International Court of Justice, which represents an international consensus on the demand to stop the all-out war on Gaza.” #Israeli finance ministerBezalel #Smotrich: Smotrich said demanding Israel stops the war against Hamas was tantamount to demanding that Israel decide to cease to exist. “Israeli will not agree to that,” he said in a statement. Israeli opposition leader Yair #Lapid: Lapid condemned Friday’s ruling by the ICJ for failing to draw a connection between its demand for an end to the fighting with a demand to return Israeli hostages held in Gaza. Normally a fierce critic of Israeli prime inister Benjamin Netanyahu, Lapid said the court’s failure to link the two issues was “a moral collapse and a moral disaster”. #EU foreign policy chief Josep #Borrell: What is going to be the [EU’s] answer to the ruling of the International Court of Justice that has been issued today, what is going to be our position? We will have to choose between our support to international institutions of the rule of law or our support to Israel.” #SouthAfrican offical Zane #Dangor: South Africa welcomes the ruling made by the court today … This order is groundbreaking as it is the first time that explicit mention is made for Israel to halt its military action in any area of Gaza. This is de facto calling for a ceasefire. It is ordering the major party in this conflict to end its belligerent action against the people of Palestine.” Former Israeli #UN envoy Danny #Danon: As ICJ judges in The Hague deliberate in comfort and return to their families, 125 hostages languish in tunnels. Israel will not cease the war until our hostages are brought back home and Hamas is completely defeated.” ++++++++++++++++