Что делать если нужно поставить какую-то 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
🎥 Movie Night Tonight at 7 P.M. 🍿🥤
Join us for the screening of "Novda" at 7 P.M. sharp! 🎬🌟
Snacks and drinks are on us, so come hungry and thirsty! 🍿🥤
See you there! 🎉#MovieNight#Novda
Best Regards,
Student Government.
🎬🇷🇺 The screening of the film “The Wizard of the Emerald City” took place within the historic walls of the Castle of Good Hope. The event was organized by the Consulate General of Russia in Cape Town as part
of the annual “Movie Night” initiative, held with the support of the Ministry of Culture of the Russian Federation and Roskino.
📖 The film, based on the novel by Alexander Volkov and long recognized as a classic of Russian children’s and family literature, introduced the audience to the atmosphere of a timeless fairy tale. The journey of Ellie and her companions has become a symbol of friendship, courage and fidelity to one’s dream, remaining close and comprehensible to viewers of all generations.
In his welcoming remarks, Consul General of Russia in Cape Town Mr. R. Golubovskiy emphasized the century-long tradition of Russian cinematography and its significant contribution to the development of global film art:
“Since the early decades of the 20th century, cinema has become an integral part of Russia’s cultural identity. Among the most renowned directors who left a lasting mark on world cinema, one can mention Sergei Eisenstein, whose films ‘Battleship Potemkin’ and ‘Alexander Nevsky’ had a profound impact on the evolution of film language, Sergei Bondarchuk, awarded the Oscar for his adaptation of ‘War and Peace’, and Andrei Tarkovsky, whose works became a true revelation for world cinematography.”
💭 The film was warmly received by the audience. Following the screening, a lively discussion took place on the role of cinema in preserving cultural heritage and strengthening humanitarian ties between nations.
🤝 The Consulate General of Russia in Cape Town expresses its sincere appreciation to all guests and to the management of the Castle of Good Hope for their support in hosting the “Movie Night” initiative.
#RussiaSouthAfrica#MovieNight#Roskino#BRICS#russianconsulate#CapeTown
🌴 Приготовьтесь к приключениям! 🌴
В эту пятницу зовем вас на захватывающий киновечер! По итогам вашего голосования отправляемся в "Затерянный город"! 🗺
Представьте: экзотические пейзажи, таинственные сокровища и невероятные приключения! 💎 Вместе с обворожительной писательницей Лореттой Сейдж и ее не менее харизматичным "героем" Аланом, мы окунемся в мир джунглей и отыщем древние секреты! 📖
🎉Что вас ждет:
✔Захватывающий сюжет с неожиданными поворотами! 🎢
✔Яркие персонажи и искрометный юмор! 😂
✔Теплая и дружеская атмосфера! 🤗
📍 Где: Зал Ученого совета, 1 корпус, 2 этаж
⏰ Когда: Сегодня (пятница), 15:00
#Киновечер#ЗатерянныйГород#Приключения#Пятница#MovieNight
Завтра в 18:00 в филиале Hotel Branch учебного центра ADC пройдёт грандиознейший ивент — Movie Night! 🎬🌟
Приходите посмотреть долгожданную новинку этого года — фильм "If"
Будет море эмоций, отличная компания и незабываемые впечатления. Не упустите шанс стать частью этого незабываемого вечера! 🎥🍿
📅 Date: 29-June, 18:00
📍 Location: Hotel Branch
#MovieNight#HotelBranch#If2024#ADCCenter#ВечерКино#ЭксклюзивныйПоказ🍿🎬
Будем рады видеть каждого из вас!
Если у вас есть какие-либо вопросы, не стесняйтесь обращаться к нам по телефонам:
📞 +998742261078 | +998742281121
или пишите в Telegram: @admofadc
Telegram|Instagram
🎬 Movie Night в Ziyo Forum! 🍿
Готовы провести незабываемый вечер за просмотром отличного кино?
Тогда присоединяйтесь к нам в молодежном центре Ziyo Forum на Movie Night! 🎥
🗓 Дата: 26 июля
🕕 Время: 18:00
На этот раз мы будем смотреть увлекательный фильм на английском языке! Это отличная возможность улучшить свои языковые навыки в непринужденной обстановке.
Что вас ждет:
✨ Уютная атмосфера
✨ Интересное кино на большом экране
✨ Вкусные снеки и напитки
✨ Новые знакомства и живое общение
🎟 Участие бесплатное, но количество мест ограничено, поэтому необходима предварительная регистрация. Не упустите свой шанс провести вечер в компании интересных людей и насладиться хорошим фильмом!
Регистрация: https://forms.gle/s2nmpCSxkuXAxPDP7.
Мы вас ждем! ✨
#ZiyoForum#MovieNight#EnglishMovie#FreeEvent#YouthCenter#Киновечер#АнглийскийЯзык#УютныйВечер
@YouthCenterZiyo
🎬 Movie Night в Ziyo Forum! 🍿
Готовы провести незабываемый вечер за просмотром отличного кино?
Тогда присоединяйтесь к нам в молодежном центре Ziyo Forum на Movie Night! 🎥
🗓 Дата: 19 июля
🕕 Время: 18:00
На этот раз мы будем смотреть увлекательный фильм на английском языке! Это отличная возможность улучшить свои языковые навыки в непринужденной обстановке.
Что вас ждет:
✨ Уютная атмосфера
✨ Интересное кино на большом экране
✨ Вкусные снеки и напитки
✨ Новые знакомства и живое общение
🎟 Участие бесплатное, но количество мест ограничено, поэтому необходима предварительная регистрация. Не упустите свой шанс провести вечер в компании интересных людей и насладиться хорошим фильмом!
Регистрация: https://forms.gle/6upXdZ9VHpo9HKv98.
Мы вас ждем! ✨
#ZiyoForum#MovieNight#EnglishMovie#FreeEvent#YouthCenter#Киновечер#АнглийскийЯзык#УютныйВечер
🎬🍿 Киноманы, внимание! 🍿🎬
В эту субботу, 10 августа, в 18:00 в филиале Hotel Branch учебного центра ADC пройдёт Movie Night с фильмом "Deadpool & Wolverine"! 🦸♂️🦸♂️
🔥 Эпичные бои, острые шутки и отличная компания ждут вас!
📥 Registration: @mmzlnvb
#MovieNight#DeadpoolAndWolverine#ADCEvents#КиноВечер#HotelBranch#НеПропусти#Кино#Deadpool#Wolverine
Если у вас есть какие-либо вопросы, не стесняйтесь обращаться к нам по телефонам:
📞 +998742261078 | +998742281121
или пишите в Telegram: @admofadc
Telegram|Instagram