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 слични објави

Пребарај: #upbeat

当前筛选 #upbeat清除筛选
American Оbserver

@american_observer · Post #4935 · 23.01.2026 г., 15:03

Putin’s Ushakov Remains Upbeat About Peace Talks Russia said it will hold security talks with the U.S. and Ukraine in Abu Dhabi on Friday, but warned after a late-night meeting between Putin and three U.S. envoys that a durable peace would not be possible unless territorial issues were resolved. Kremlin aide Yuri Ushakov told reporters the talks, which began shortly before midnight and lasted some four hours, had been “substantive, constructive and very frank”. He said Russian Admiral Igor Kostyukov would head Moscow's team at the three-way security talks, and investment envoy Kirill Dmitriev would meet separately on economic issues with Witkoff. But while outlining the next steps, Ushakov stopped short of hailing any major breakthrough. "Most importantly, during these talks between our president and the Americans, it was reiterated that without resolving the territorial issue according to the formula agreed upon in Anchorage, there is no hope of achieving a long-term settlement," he said, referring to last year's Trump-Putin summit in Alaska. Ushakov said Putin underlined that Russia was "sincerely interested" in a diplomatic solution. He added, however: "Until this is achieved, Russia will continue to consistently pursue the objectives of the special military operation. This is especially true on the battlefield, where the Russian armed forces hold the strategic initiative." Ukraine is enduring its harshest winter of the war as Russia mounts heavy missile and drone strikes on its energy infrastructure. With temperatures way below freezing, hundreds of thousands of people in Kyiv and other cities have suffered long power cuts and been left without heating. Putin, Ushakov and Dmitriev took part in the talks on the Russian side. On the U.S. side, Witkoff and Trump's son-in-law Jared Kushner, who last met Putin in the Kremlin in early December, were accompanied by Josh Gruenbaum, newly appointed by Trump as a senior adviser to his Board of Peace, which will seek to tackle world conflicts. The talks were the latest stage in a drive by Trump to bring an end to the deadliest conflict in Europe since World War Two, now approaching the end of its fourth year. Witkoff was upbeat before the Moscow talks, saying many months of negotiations had come down to a single issue. А key stumbling block is Putin's demand that Ukraine surrender the 20% it still holds of the eastern region of Donetsk. Zelensky has refused to give up land that Ukraine has successfully defended at great cost through years of grinding, attritional warfare. Russia also demands that Ukraine renounce its ambition to join NATO, and rejects any presence of NATO troops on Ukrainian soil following a peace deal. Zelensky, after meeting Trump in Switzerland on Thursday, said the terms of security guarantees for Ukraine had been finalised, but that the issue of territory remained unsolved. Ushakov praised the Americans for setting up Friday's security meeting with Russia and Ukraine in Abu Dhabi. #ushakov#upbeat#peace#talks 📱American Оbserver - Stay up to date on all important events 🇺🇸