@ysmodku · Post #5472 · 12.03.2023 г., 13:54
人物:#荧 作者:#nanami 下载:https://wwze.lanzoub.com/iUbBt0pxotah 来源:https://discord.com/channels/971945032552697897/995556191419764838/1083308602284048484
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
Пребарај: #nanami
@ysmodku · Post #5472 · 12.03.2023 г., 13:54
人物:#荧 作者:#nanami 下载:https://wwze.lanzoub.com/iUbBt0pxotah 来源:https://discord.com/channels/971945032552697897/995556191419764838/1083308602284048484
@ysmodku · Post #5474 · 12.03.2023 г., 13:54
人物:#雷电将军 作者:#nanami 下载:https://wwze.lanzoub.com/iGU8r0pxoy7e 来源:https://discord.com/channels/971945032552697897/995556191419764838/1083305931762311199
@ysmodku · Post #5260 · 05.03.2023 г., 03:51
人物:#钟离 作者:#nanami 下载:https://wwze.lanzoub.com/igdD80p9xj8f 来源:https://discord.com/channels/971945032552697897/995556191419764838/1081765397398831104
@cosplayuploadtest2 · Post #102265 · 23.03.2025 г., 03:09
Title: Nanami_Kawakami_川上奈々美,_Graphis_Limited_Editon_2016.05.21 Authors: #None Tags: #None#Graphis#Nanami_Kawakami_川上奈々美#Nanami#Kawakami#川上奈々美#Graphis#Limited#Editon #2016 #05 #21 recommendation: None TelegraphLinks:page-0-19
@cosplayuploadtest2 · Post #102113 · 23.03.2025 г., 03:01
Title: Nami_Nanami_七海那美,_Graphis_Limited_Edition_2025.01 Authors: #None Tags: #None#Graphis#Nami_Nanami_七海那美#Nami#Nanami#七海那美#Graphis#Limited#Edition #2025 #01 recommendation: None TelegraphLinks:page-0-44
@cosplayuploadtest2 · Post #102436 · 23.03.2025 г., 03:20
Title: Nanami_Miyakoshi_宮越虹海,_アイドルワン_I_One_サンプル版_ICONOCLASM Authors: #None Tags: #None#Nanami_Miyakoshi_宮越虹海#アイドルワン_I_One#Nanami#Miyakoshi#宮越虹海#アイドルワン#I_One#サンプル版#ICONOCLASM recommendation: None TelegraphLinks:page-0-19