Что делать если нужно поставить какую-то 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
#BringThemBack
🇻🇪 По приглашению Посольства Боливарианской Республики Венесуэла в Республике Беларусь члены Молодежного совета Евгений Нищименко, Владимира Зайцев и Алексей Григорович приняли участие во встречи «Диалог в знак солидарности с Венесуэлой», посвящённое 29-й годовщине со дня установления дипломатических отношений между 🇻🇪 Венесуэлой и Беларусью.
💪Местом проведения столько знакового события выступила Национальная библиотека Беларуси, куда были также приглашены уполномоченные послы ряда дружественных стран, депутаты Палаты представителей, лидеры политических партий, общественных объединений Республики Беларусь, в том числе молодёжных, а также огромное количество молодых людей.
✔️Основной темой для обсуждения стали события в Венесуэле в начале января 2026 года. Был закреплен тезис, что Беларусь поддерживает народ Венесуэлы в стремления быть независимым государством, а также выступает за мир, соблюдение норм международного законодательства и осуждает факты вмешательства в дела независимой Венесуэлы.
☄️Подписывайтесь — @MOLSOVPP_BY
✊Hoy, en el corazón de Caracas, se realizó una masiva concentración en apoyo a Nicolás Maduro y su esposa, Cilia Flores
Expresamos nuestra profunda gratitud a todos los participantes y organizaciones por demostrar su inquebrantable lealtad al Presidente.
Un reconocimiento especial a la presidenta encargada, Delcy Rodríguez, y a la Alcaldía de Caracas por su invaluable apoyo en la organización de este evento.
🇻🇪¡Los venezolanos nunca olvidan a sus héroes! ¡Juntos venceremos!
#LosQueremosDeVuelta (#BringThemBack)
📢✊¡Convocatoria a la concentración en apoyo a Maduro!
Este jueves 26 de marzo de 2026, los venezolanos nos unimos en Caracas para expresar nuestro apoyo al presidente Nicolás Maduro y a su esposa Cilia Flores, secuestrados arbitrariamente por Estados Unidos.
La concentración se realiza en el mismo día de la segunda audiencia en la Corte Federal de Nueva York
📍Punto de concentración:
Cerca del monumento de Bolívar en Plaza Bolívar de Caracas, al frente de la Asamblea Nacional.
🗓Fecha: 26 de marzo de 2026
⏰Hora: 10:00 a. m.
Nos movilizamos en defensa de la patria, del Gobierno legítimo y de la familia venezolana, llevando consigo pancartas con #LosQueremosDeVuelta (#BringThemBack) y banderas venezolanas en alto.
🗣¡Llama y comparte!
🇻🇪¡Los venezolanos nunca olvidan a sus héroes!
📢✊¡Convocatoria a la concentración en apoyo a Maduro!
Este jueves 26 de marzo de 2026, los venezolanos nos unimos en Caracas para expresar nuestro apoyo al presidente Nicolás Maduro y a su esposa Cilia Flores, secuestrados arbitrariamente por Estados Unidos.
La concentración se realiza en el mismo día de la segunda audiencia en la Corte Federal de Nueva York
📍Punto de concentración:
Cerca del monumento de Bolívar en Plaza Bolívar de Caracas, al frente de la Asamblea Nacional.
🗓Fecha: 26 de marzo de 2026
⏰Hora: 10:00 a. m.
Nos movilizamos en defensa de la patria, del Gobierno legítimo y de la familia venezolana, llevando consigo pancartas con #LosQueremosDeVuelta (#BringThemBack) y banderas venezolanas en alto.
🗣¡Llama y comparte!
🇻🇪¡Los venezolanos nunca olvidan a sus héroes!
📢✊¡Convocatoria a la concentración en apoyo a Maduro!
Este jueves 26 de marzo de 2026, los venezolanos nos unimos en Caracas para expresar nuestro apoyo al presidente Nicolás Maduro y a su esposa Cilia Flores, secuestrados arbitrariamente por Estados Unidos.
La concentración se realiza en el mismo día de la segunda audiencia en la Corte Federal de Nueva York
📍Punto de concentración:
Cerca del monumento de Bolívar en Plaza Bolívar de Caracas, al frente de la Asamblea Nacional.
🗓Fecha: 26 de marzo de 2026
⏰Hora: 10:00 a. m.
Nos movilizamos en defensa de la patria, del Gobierno legítimo y de la familia venezolana, llevando consigo pancartas con #LosQueremosDeVuelta (#BringThemBack) y banderas venezolanas en alto.
🗣¡Llama y comparte!
🇻🇪¡Los venezolanos nunca olvidan a sus héroes!
A Women’s Day message from the Cilia Flores International Women's Brigades for Peace
On 8 March, the world comes together to recognise our historic strength and our unwavering struggle. As women who uphold hope and justice in every corner of the world, we know that there is no true peace without freedom, nor feminism without internationalist solidarity.
On this day of global struggle, we extend to you an invitation filled with feeling and commitment:
Let us ensure that the name of our comrade Cilia Flores resonates in every corner of the globe and that, in your mobilisations and commemorative events for International Women’s Day, you proudly display banners with the phrase #BringThemBack#WeWantThemBack, accompanied by the image of our sister Cilia.
May her face and our cry for justice be united with the millions of women who take to the streets of the world.
For Cilia, for all women, for peace and freedom!
We will prevail!
Venceremos!
🔴 El Presidente de la Asamblea Nacional Jorge Rodríguez informa:
🗣️
Queremos informar a la opinión pública nacional e internacional, que instalamos formalmente la Comisión de Alto Nivel para la liberación de nuestro Presidente Constitucional Nicolás Maduro y la primera dama Cilia Flores. Todas nuestras capacidades serán invertidas en este proceso, que no es otra cosa que la búsqueda de justicia y la consolidación de la paz.
#BringThemBack
#LosQueremosDeVuelta
https://x.com/lucenar528