Что делать если нужно поставить какую-то 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
Перевёл ещё один скетч Gilly&Keeves: "Трамп на быстрых свиданиях". Этот скетч я перевёл субтитрами, ведь только так можно в полной мере оценить великолепную пародию Шейна на Трампа! Круче него Трампа пародирует разве что Godfrey!
#gillykeeves
AAASUBS представляет:
Gilly & Keeves: THE SPECIAL (2022)
Отсняв великолепный первый сезон своего скетч-шоу, творческая команда во главе с Джоном Маккивером и Шейном Гиллисом выпустила полнометражный спешл на специальном сайте, где любой желающий может купить его за $10. В этот час ребята уместили все свои самые бесстыжие скетчи, а перебивки между скетчами взяты с выступления ребят в Theatre of Living Arts в Филадельфии, где бухие Джон, Шейн и компания рассказывают смешные истории из-за кулис.
Все скетчи представлены в моей озвучке, пьяные перебивки ребят перед публикой между скетчами решил пустить субтитрами, так вышло смешнее имхо. Это будет третьим моим эксклюзивом для Бусти (до этого была озвучка дебютного альбома Джона Малейни, а также полная версия выступления Бена Бейли на прожаркеПатриса О'Нила), можете просмотреть прямо сейчас по ссылке.
БОЛЬШОЕ СПАСИБО МОИМ БУСТЕРАМ! Ребята, вам огромная ❤️!
Ещё 4 бустера, и в работу уйдёт озвучка гомерически смешного альбома Брайна Ригана — ALL BY MYSELF (вполне вероятно, самый смешной стендап, что я видел или слышал в принципе).
А чтобы рядовые подписчики не остались совсем голодными, перевёл для вас великолепное выступление Шейна Гиллиса для программы Up Next от Comedy Central 2019 года.
P.S. На данный момент команда Gilly & Keeves закончила съёмки второго сезона Tires, который у них купил Netflix. Надеюсь, что в скором времени они смогут взяться за старое и снять ещё несколько скетчей для G&K, уж больно самобытными и действительно угарными они у них получаются!
#aaadubs#gillykeeves
Открывающий скетч из полнометражки Gilly & Keeves: The Special.
ВНИМАНИЕ: полнометражка ушла в работу, и она будет эксклюзивом для Бусти. Поскольку Гиллис и Маккивер сами спрятали просмотр спешла за пэйволом, то выкладывать его в общий доступ было бы неправильным (для этого релиза сделаю возможность разовой покупки, если захотите посмотреть спешл, но не захотите подписываться на Бусти).
Мой Boosty: https://boosty.to/aaasubs
#aaadubs#gillykeeves
Уже через несколько часов выйдет выпуск SNL, который будет вести Шейн Гиллис. Учитывая, что SNL выгнали его из-за какой-то херни в первый же рабочий день, а теперь позвали обратно быть ведущим, увидав на каком сейчас хайпе находится Шейн, нас ожидает очень и очень интересный эфир. Я абсолютно уверен, что Гиллис не сможет удержаться и воспользуется моментом, чтобы как следует обстебать данную ситуацию в стиле Норма.
А пока мы ждём, предлагаю посмотреть ещё один уморительный скетч от GIlly&Keeves: Гриль Сержант. Кстати, это один из скетчей, входящих в полнометражный спешл Gilly&Keeves.
Озвучено по заказу Владимира Синицына.
#aaadubs#gillykeeves
С НОВЫМ ГОДОМ, РЕБЯТА!
Желаю, чтобы в этом году вы больше радовались жизни и меньше охреневали от происходящего вокруг. Думаю, мы все этого заслужили. Ждите ещё больше крутых переводов и озвучек в этом году.
УРА, УРА, УРА!!! ВСЕ БУДЕМ СЧАСТЛИВЫ!!!🌲🎄🎁
Перед вами тизер полнометражного спешла Gilly & Keeves, который среди прочего я также обязательно озвучу в этом году.
#aaadubs#gillykeeves
Четвёртый скетч Gilly & Keeves в моей озвучке: ТОЙОТА ИГИЛ. Имхо, самый смешной скетч во всём сезоне.
Озвучено по заказу Владимира Синицына.
#aaadubs#gillykeeves
Озвучил ещё один скетч Gilly & Keeves: Спящий Коп. Кстати, в этом скетче в роли напарника играет Джон МакКивер, который и создал это шоу вместе с Шейном Гиллисом.
Озвучено по заказу Владимира Синицына.
#aaadubs#gillykeeves
В сентябре 2019 Шейна Гиллиса наняли работать в новый сезон SNL... спустя сутки SNL объявили, что не будут далее работать с ним из-за проблематичных шуток Шейна в адрес азиатов, которые всплыли в сети (Шейн разгонял что-то на каком-то подкасте). Гиллиса попытались отменить, но чудесным образом увольнение из SNL стало лучшим событием в его карьере. Спустя два года Шейн выпустил на ютубе свой уже легендарный первый спешл, а также начал выпускать своё собственное скетч-шоу с комиком Джоном МакКивером — шоу назвали Gilly & Keeves.
В своих скетчах Гиллис и Маккивер достигли такой планки юмора и бесстыжести, которую сами SNL уже много лет как потеряли, поэтому я очень рад, что Гиллис не отчаялся, а просто продолжил заниматься комедией, достигнув при этом небывалых высот!
Перед вами скетч "Папин OnlyFans" из первого сезона GIlly & Keeves в моей озвучке.
#aaadubs#gillykeeves