Что делать если нужно поставить какую-то 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
¿Que puede hacer este bot?
@AutoAnimeBot
Un bot para buscar y obtener el anime más reciente. También tiene una función de sincronización de anlist en la que puedes actualizar el anime que estás viendo actualmente directamente dentro del bot.
#Anime#serie
Idioma: Inglés
( Visto en: @BotsGram_Cu )
📽️Weiter geht’s mit „Natalie und Alexander“!
Die nächsten Folgen der russischen Serie laufen bald in unserem Kino – verpasst nicht das dramatische Liebesepos rund um Puschkin und seine Muse!✨
🗓️ Kommt morgen, am 16. September um 19:00 Uhr vorbei!
❗️In russischer Sprache
📲Anmeldung ist erforderlich.
#kino#serie#puschkin#berlinevents
Das Warten hat ein Ende: Wir starten in die neue Saison!🥳😍
Nach der Sommerpause öffnen sich endlich wieder die Türen und wir beginnen mit einem besonderen Highlight: der packenden Vorführung der russischen Serie „Natalie und Alexander“🍿
🎞️ Die Serie erzählt auf eindrucksvolle und intime Weise vom Leben und Sterben Alexander Puschkins: vom ersten Blick auf die junge Natalja bis zum verhängnisvollen Duell🤺, das ihn das Leben kostete.
🎥 Doch im Mittelpunkt steht diesmal nicht der Dichter, sondern die Frau an seiner Seite, seine Muse und Ehefrau.👩🏻
Kommt in unser Filmtheater vorbei und erfahrt ihre Wahrheit und Sicht auf die Geschichte!
🗓️Sendungstermine:
Folgen 1-2 — am 2. September um 19:00
Folgen 3-4 — am 9. September
Folgen 5-6 — am 16. September
Folgen 7-8 — am 23. September
Folgen 9-10 — am 30. September
💬 In russischer Sprache mit englischen Untertiteln
📲Anmeldung ist erforderlich.
#kino#serie#puschkin#berlinevents
Anlässlich des Geburtstags von Willy Brandt wird im Filmtheater im Russischen Haus in Berlin die Politthrillerserie „Lieber Willy“ gezeigt!
📽️ 1960er Jahre. Dem sowjetischen Geheimdienst wird klar, dass die USA einen Schlag von Stützpunkten in der Bundesrepublik vorbereiten. Leonid Breschnew versteht, dass ein offenes Ultimatum alles nur schlimmer macht, deshalb entscheidet er sich für einen geheimen Deal mit Bundeskanzler Willy Brandt.
🗓️Folgen 1. und 2. werden am 17. Dezember um 19:00 Uhr in russischer Sprache mit deutschen Untertiteln gezeigt. Kommt vorbei!
❗️18+
✍🏻Anmeldung
#kino#berlinevents#filmeabend#serie#thriller
Anlässlich des Geburtstags von Willy Brandt wird im Filmtheater im Russischen Haus in Berlin die Politthrillerserie „Lieber Willy“ gezeigt!
📽️ 1960er Jahre. Dem sowjetischen Geheimdienst wird klar, dass die USA einen Schlag von Stützpunkten in der Bundesrepublik vorbereiten. Leonid Breschnew versteht, dass ein offenes Ultimatum alles nur schlimmer macht, deshalb entscheidet er sich für einen geheimen Deal mit Bundeskanzler Willy Brandt.
🗓️Folgen 1. und 2. werden am 17. Dezember um 19:00 Uhr in russischer Sprache mit deutschen Untertiteln gezeigt. Kommt vorbei!
❗️18+
✍🏻Anmeldung
#kino#berlinevents#filmeabend#serie#thriller
Morgen:Das große Finale von „Natalie und Alexander“!📽️
🍿 Die letzten Folgen der russischen Serie rund um Puschkin und seine große Liebe stehen bevor. Verpasst nicht das emotionale Ende dieses historischen Liebesepos!✨
🗓️ Kommt am7. Oktober um 19:00 Uhr in unser Kino! ❗️Die Vorführung findet in russischer Sprache mit englischen Untertiteln statt. 📲Anmeldung ist erforderlich.
#kino#serie#finale#puschkin#berlinevents
@loquebuscasbot
Qué puede hacer este bot?
Con este bot puedes descargar películas, series de televisión, musica y mucho más
Idioma: Español
(visto en @BotsGram_cu)
#film, #serie, #tv, #music, #download
@Film_Affinity_bot
Qué puede hacer este bot?
Este bot te ayuda a encontrar cualquier película, serie de televisión en Filmaffinity
Idioma: Inglés
(visto en @BotsGram_cu)
#tv, #serie, #film, #search, #download
@films_search_bot
Qué puede hacer este bot?
Simplemente escriba el nombre de la película, la serie y el bot intentará encontrar algo.
Para ver el ranking de películas, marque /tophelp
Si estás buscando anime, usa el bot: @ animetubebot
Idioma: Inglés, Ruso
(visto en @BotsGram_cu)
#tv, #serie, #film, #search, #download