Что делать если нужно поставить какую-то 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
😃 Hemos recibido la condición "Amigo de la #FEU" (Federación Estudiantil Universitaria), en el marco del acto por el Día del Educador de la Universidad de Ciencias Médicas de Holguín.
De acuerdo con información de la periodista Lianne Fonseca Dieguez, 👉 el reconocimiento distingue a aquellas personas y colectivos que apoyan las iniciativas extensionistas de la organización.
¡Agradecidos! ♥️
#Holguín
#Cuba
📦WCI: контейнерный рынок 2021 → 2025 и прогноз на 2026
На 47-й неделе рынок так и не определился - что же ему делать🤔.
В итоге мировой индекс контейнерных перевозок решил выдохнуть и … 20 ноября немного понизился по сравнению с 13 ноября - снижение на $7.
Почти без изменений.
WCI = $ 1’852 за 40-футовый контейнер.
Что происходит и куда всё движется😳?
🔺2021 — год исторического перегрева
Пик: $10‘377
Дно: $4’883
Волатильность: максимум выше минимума в 2,1 раза.
Причины:
- дефицит контейнеров,
- сбои после COVID-19,
- перегруженность портов.
🚢Самые высокие ставки в истории.
🔻2025 — рынок охлаждения и “новой нормы”
Пик: $ 3’986
Дно: $ 1’651
Волатильность: максимум выше минимума в 2,4 раза !
Причины:
- избыток флота,
- слабый спрос,
- нормализация логистики.
📉Ставки упали в 2–3 раза относительно 2021 года.
Рынок дешевый, но более волатильный в относительном выражении.
📉Динамика 2025 года
Январь: ~$ 4’000
Весна: равномерное снижение
Лето: стабилизация ниже $ 3’000
Осень 2025: новое «дно» - $1’650 - $2’000
Рынок не обваливается, но “ползёт вниз”.
(В 2023 ставки были еще ниже).
🔮Прогноз до конца 2025
Ноябрь: боковой диапазон $1’800 - $1’900
Декабрь: краткий сезонный отскок на 10-15% - до $1’900 - $2’100 (таквсегда перед Новогодними праздниками).
⚓️
Рынок близок ко “дну”, пока значения ниже уровня 2023 года маловероятны.
Через час - прогноз ставок на морские контейнерные перевозки в 2026 году !
Подписывайтесь на
@igorNewLP
задавайте вопросы, возражайте,
будьте в курсе актуальной информации.
С уважением,
ваш ИВЛ (в логистике).
#WCI#TEU#FEU
🗣️Los miembros de la Federación Estudiantil Universitaria en la provincia de Holguín festejaron los 102 años de la fundación de la organización más longeva de Cuba con grandes retos y desafíos.
👥Asistieron a la celebración desarrollada en el Club Bariay del municipio cabecera, Arelis Marrero Guerrero, miembro del Comité Central y del Comité Provincial del Partido Comunista de Cuba en Holguín y Yunia Pérez Hernández, vicegobernadora del territorio.
👤También se encontraban presentes una representación del secretariado nacional de la FEU, estudiantes de las universidades de Holguín, Moa y Ciencias Médicas.
🏆En la gala el Partido, la Unión de Jóvenes Comunistas y el Gobierno en la provincia entregaron reconocimientos por las labores y el trabajo sostenido de la organización en los tres centros de altos estudios de la provincia. La Universidad de Ciencias Médicas de Holguín otorgó el sello conmemorativo 15 aniversario al secretariado nacional de la FEU como agasajo a sus múltiples méritos.
🎶El espacio estuvo amenizado por los cantantes de la Empresa de la Música y los espectáculos Yamila Rodríguez y Nadiel Mejías, así como los artistas aficionados de la organización fundada el 20 de diciembre de 1922.
✍️📸 John Álex Fernández Leyva
#RadioHolguinLaNueva
#RadioHolguin
#FeuCuba
#Feu
🇨🇭 Au moins six personnes ont été tuées et cinq autres blessées lors de l’incendie d’un car postal à Chiètres, dans le canton suisse de Fribourg, rapporte Swissinfo.
Le feu s’est déclaré dans la soirée du 10 mars. La police locale privilégie la piste d’un acte volontaire: "Des témoignages ont parlé d’une personne qui a agi sciemment avec un engin incendiaire", a indiqué un porte-parole de la police.
#suisse#feu#car
🇮🇱 Des mesures de sécurité renforcées ont été mises en place à Jérusalem dans l’attente de la descente du Feu sacré, rapporte un correspondant de TASS.
#sécurité#feu#jérusalem
🇮🇱 Le Feu sacré est descendu à la basilique du Saint-Sépulcre à Jérusalem à la veille de Pâques, rapporte un correspondant de TASS.
Le Feu sacré apparaît dans l’édicule, une chapelle au centre de l'église du Saint-Sépulcre. Au cours de toute l’histoire, personne n’a réussi à percer le mystère de la descente du Feu sacré, malgré de nombreuses tentatives. Ce feu sacré symbolise la lumière du Christ ressuscité pour les chrétiens orthodoxes, ils le considèrent comme un sanctuaire.
#feu#pâques#descente
🇮🇱 Les portes de l’église du Saint-Sépulcre se sont ouvertes aux fidèles venus à Jérusalem pour attendre le miracle de la descente du Feu sacré, rapporte un correspondant de TASS.
Immédiatement après l’ouverture des portes, des colombes, symboles de paix, se sont envolées de l’église.
#église#fidèles#feu