Что делать если нужно поставить какую-то 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
🔵🔴Pacto de pareja de Mapi León y Engen para la final de Oslo
Mapi León e Ingrid Engen vivirán una final de Champions League muy especial el próximo sábado en Oslo. Las futbolistas de Barça y OL Lyonnes mantienen una relación sentimental tras coincidir como azulgranas durante cuatro temporadas, pero desde el pasado verano tomaron caminos distintos que les han obligado a mantener... #Barça#FCB
🤕El Dr. Surós, experto en medicina deportiva, analiza la lesión de Fermín: "Yo lo descartaría"
El FC Barcelona, tal y como avanzó Mundo Deportivo, anunció este lunes que Fermín López tendrá que ser intervenido de una fractura en el quinto metatarsiano del pie derecho, algo que le descarta para el Mundial de Estados Unidos, México y Canadá que se inicia el próximo mes de junio. #Barça#FCB
🔵🔴El césped del Ullevaal, del drama a la calma para la final de la Champions femenina
El 31 de marzo se jugó un amistoso masculino Noruega-Suiza (0-0) en el Ullevaal Stadion de Oslo en el que sólo se habló del pésimo estado del césped y provocó un mediático debate en Noruega porque peligró el estado físico de cracks como Erling Haaland y Alexander Sorloth, que son la esperanza del país en el regreso a... #Barça#FCB
🔵🔴La Agencia Tributaria concluye que los pagos a Negreira no eran para pagar árbitros
La Dependencia Regional de Inspección de Cataluña de la Agencia Tributaria ha emitido un informe en el que concluye que los pagos realizados a José María Enríquez Negreira, vicepresidente del Comité Técnico de Árbitros (CTA), procedentes del FC Barcelona no fueron para pagar árbitros ni influir en los resultados... #Barça#FCB
🔵🔴Lamine cumplió el sueño del hijo de Antony
Lamine Yamal (18 años) es uno de los jugadores más admirados del mundo, en especial entre los más jóvenes, y así quedó patente durante el Barça-Betis. La estrella verdiblanca Antony le pidió al joven crack azulgrana si podía conocer a su hijo y Lamine accedió para cumplir con el sueño del pequeño. #Barça#FCB
🔵🔴Las cifras del OL Lyonnes en la Champions revelan el liderazgo de Engen y el peligro de Dumornay
El OL Lyonnes vuelve a situarse, una vez más, en el escenario que mejor conoce: la gran final de la UEFA Women’s Champions League. El conjunto francés, referencia histórica del fútbol femenino europeo y máximo ganador de la competición, se medirá este sábado 23 de mayo (18. #Barça#FCB
⚽Espectacular récord europeo del Barça en tres estadios distintos
Los dos goles de Raphinha y el último de Joao Cancelo certificaron el inédito pleno de 19 victorias de 19 posibles del Barça como local en el Campeonato de Liga. Lo curioso del caso es que han sido tres estadios los escenarios para ello: dos partidos en el Estadi Johan Cruyff, tres en el Olímpic Lluís Companys y 14 en... #Barça#FCB
🔵🔴Flick: "Queremos más títulos, quizás también la Champions"
Hansi Flick mostró su felicidad tras firmar como entrenador hasta 2028, con otra temporada opcional, y exhibió ambición de cara al futuro: "El objetivo es ganar más títulos, quizás también la Champions, trabajaremos para eso, para que el sueño se cumpla", manifestó en las oficinas y a medios del club barcelonista. #Barça#FCB
🔵🔴Oficial: Flick firma hasta 2028 con otra temporada opcional
Hansi Flick firmó el contrato que le liga al Barcelona hasta 2028, más otra temporada opcional, en un acto privado celebrado en las oficinas del club, con el presidente del FC Barcelona, Rafa Yuste; el presidente electo, Joan Laporta; el director deportivo, Deco; y los miembros de la Comisión Deportiva. #Barça#FCB
🔵🔴Emilio Bernad no continuará en el Barça Atlètic
El sueño de Emilio Bernad (26 años) ha llegado a su fin. El portero valenciano lo cumplió a finales del verano pasado, cuando con el mercado a punto de cerrarse el Barcelona le llamó para reforzar la portería del filial. #Barça#FCB
🔵🔴Los trofeos de LaLiga y la Supercopa 2025-26 ya están en el Museu
Los trofeos de la Liga y la Supercopa de España de la temporada 2025-26 ya están en el Museu del FC Barcelona. Poco antes del acto de la firma de la renovación de Hansi Flick las llevaron al Museu el técnico alemán; el capitán de la plantilla, Ronald Araujo; y el presidente del club y el presidente electo, Rafa Yuste... #Barça#FCB
🔵🔴Flick, impactado por el nivel de Abde
El nivel de Ez Abde, actualmente la principal estrella del Betis en su temporada de su definitiva consagración en la élite, dejó impactado a Hansi Flick, técnico del Barça, según informó 'Què t,hi jugues' de SER Catalunya. #Barça#FCB