Что делать если нужно поставить какую-то 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
#Internacional | 🫣🇮🇳 Un hombre vuela por los aires tras los fuertes vientos en la India y sobrevive luego de quedar suspendido en el aire junto a una enorme chapa metálica arrancada por una poderosa tormenta calificado como uno de los más devastadores registrados recientemente en la región., que dejó al menos 111 muertos en el norte de India.
➡️ De acuerdo con lo informado Sputnik Mundo, el trabajador intentaba sostener el techo de un salón de bodas en construcción en el estado de Uttar Pradesh cuando los vientos desprendieron la estructura y lo elevaron varios metros antes de caer sobre un campo cubierto de agua y lodo.
Videos difundidos en redes sociales muestran el momento en que el hombre permanece colgado de la estructura metálica segundos antes de su caída, a pesar de la cual sobrevivió aunque con fracturas en brazos y pierna en su humanidad.
Las tormentas que azotaron dicho provocaron severos daños materiales, viviendas destruidas y decenas de víctimas fatales.
📹: Sputnik Mundo
#Internacional | 🇨🇳🇺🇸 Durante una reunión celebrada en Pekín entre el presidente de China, Xi Jinping, y su par estadounidense Donald Trump, el mandatario del gigante asiático declaró que la relación entre ambos países es "la relación bilateral más importante del mundo".
➡️ Además, Jinping afirmó que ambos naciones "deberían ser socios, en lugar de rivales".
📹: RT
#Internacional | 🇺🇸‼️ Venezolana en EE.UU. fue detenida por agentes del Servicio de Inmigración y Control de Aduanas de Estados Unidos (ICE) junto a sus dos hijos de 9 y 11 años de edad.
➡️ Los ciudadanos del estado de Texas exigen a las autoridades estadounidense la libertad de Betania Uzcátegui y sus dos pequeños, cuyo procedimiento fue realizado por el ICE pasado 27 de abril, cuando los niños esperaban en una parada el transporte escolar.
📌 De acuerdo con testimonios recogidos por medios internacionales, la detención de la familia no ocurrió durante un operativo o una redada.
📷: RRSS
#Internacional | 🚀🇺🇸 El presidnete estadonidense Donald Trump, recibió la tarde de este miércoles 29 de abril en la Casa Blanca a los cuatro astronautas de Artemis II de la NASA, felicitándolos por el éxito de la primera misión que alcanzó la órbita de la Luna en más de medio siglo y los humanos que han viajado más lejos de la Tierra.
➡️ Es de recordar que la tripulación integrada por Reid Wiseman, Christina Koch y Victor Glover y Jeremy Hansen, de la Agencia Espacial Canadiense (CSA), superó el récord de distancia alcanzado en el espacio por la misión Apolo 13 en 1970 y estableció una nueva marca al alejarse 406.771 kilómetros de la Tierra.
📸: EFE
#Internacional | 🇨🇳👨💻China presenta el primer chip 6G universal, capaz de comunicarse en todas las frecuencias en cualquier dispositivo y en cualquier lugar.
➡️ El sistema es tan potente que podría transmitir mil videos en definición 8K a la vez, cumpliendo los requisitos de velocidad máxima de 6G, lo que abre un mundo de oportunidades en educación, salud y entretenimiento, incluso en sitios remotos.
@yilltronics
#Internacional | 🇮🇩🌋 Tres excursionistas fallecieron tras una inesperada erupción del volcán Monte Dukono, en la isla de Halmahera en #Indonesia, entre ellos dos turistas de Singapur y un lugareño.
➡️ Este fenómeno natural expulsó una enorme nube de ceniza de hasta 10 kilómetros de altura mientras 20 personas se encontraban en una zona restringida, reportan medios internacionales.
📹: TVN
🇺🇸 La inmunidad al coronavirus puede durar años, según un estudio #COVID19#Internacional
¿Cuánto tiempo puede durar la inmunidad al coronavirus? Años, tal vez incluso décadas, según un nuevo estudio, la respuesta más esperanzadora hasta el momento a una pregunta que ha ensombrecido los planes de vacunación generalizada.
El estudio apunta a que 8 meses después de la infección, muchos de los infectados mantienen suficiente carga inmune para evitar un nuevo contagio posiblemente durante años.
La investigación del Instituto de Inmunología de La Jolla (California) y la escuela de medicina del Monte Sinaí de Nueva York, no ha sido revisada por la comunidad científica, pero es el estudio más completo y de mayor alcance sobre la memoria inmune al coronavirus hasta la fecha.
Incorpora mediciones de cuatro tipos de respuesta inmunitaria: anticuerpos IgG, células B de memoria (que recuerdan el patógeno y pueden responder rápidamente con anticuerpos ante una reinfección) y dos tipos de células T que acaban con otras células infectadas. El objetivo era analizar la respuesta inmune en su conjunto.
Este elemento se une a otro recientemente conocido: los supervivientes de otros SARS provocados por otros virus mantienen su inmunidad hasta 17 años después.
La investigación del equipo de La Jolla y Monte Sinaí concuerda con otro recientemente publicado por la Universidad de Washington que señalaba un horizonte de al menos 3 meses de inmunidad entre los supervivientes del SARS-Cov2.
Todos estos estudios muestran un patrón común: una vez pasada la fase más virulenta de la enfermedad, y tras superar unas semanas críticas, la respuesta inmunológica parece bastante convencional.
https://www.elperiodico.com/es/sociedad/20201118/coronavirus-inmunidad-hopkins-estados-unidos-estudio-8209706
🔎t.me/info288_seguimientos