Что делать если нужно поставить какую-то 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
🚢Минтранс США призвал суда избегать Ормузского пролива.
Министерство транспорта США рекомендовало коммерческим судам воздерживаться от плавания в Ормузском проливе, Персидском заливе и Аравийском море на фоне высокой военной активности в регионе.
Суда под флагом США, находящиеся в собственности США или с американскими экипажами, должны держаться на расстоянии не менее 30 морских миль от военных кораблей США во избежание ошибочной идентификации как угрозы.
Также настоятельно рекомендовано поддерживать постоянный контакт с Центральным командованием военно-морских сил США (NAVCENT).
Сообщения о возможном закрытии Ормузского пролива со стороны иранских структур пока не получили официального подтверждения. Эскалация произошла после начала военной операции США и Израиля против объектов в Иране 28 февраля 2026 года.
Для судоходства это означает рост военных премий (war risk), увеличение транзитных издержек и потенциальное перераспределение потоков нефти и нефтепродуктов.
Ормуз остаётся критическим узлом мировой торговли энергоносителями, и любые ограничения способны усилить волатильность на танкерном рынке.
📌U.S. Department of Transportation (USDOT) — федеральное ведомство США, основанное в 1967 году, отвечает за регулирование транспортной политики и безопасность перевозок. Финансируется из федерального бюджета США.
#Hormuz#WarRisk#TankerMarket#Geopolitics#ShippingSecurity
🚢Судоходство под угрозой: эскалация США–Израиль–Иран существенно повышает риски в регионе.
Военная операция США и Израиля против Ирана, которую Дональд Трамп охарактеризовал как «масштабную», вызвала опасения возможных ответных действий, включая удары по торговому судоходству и задержания судов в регионе.
Сообщается, что целью атак стали объекты, связанные с баллистическими ракетами и военно-морскими силами Ирана — инфраструктура, ранее ассоциированная с инцидентами против международного торгового флота.
Вслед за ударами зафиксированы сообщения о взрывах на территории Ирана и ответных атаках по целям в Израиле и на американские военные базы в регионе.
Для морского рынка ключевым фактором остаётся безопасность судоходства в Ормузском проливе и прилегающих водах, через которые проходит значительная доля мировой торговли нефтью и нефтепродуктами.
Эскалация может привести к росту страховых премий (war risk), изменению маршрутов, удлинению рейсов и дополнительной волатильности фрахтовых ставок в танкерном сегменте.
Даже без формального закрытия пролива - риск задержаний, кибер- и радиоэлектронных инцидентов, а также целевых атак остаётся повышенным, что усиливает неопределённость для судовладельцев и фрахтователей.
📌International Maritime Organization (IMO) — специализированное учреждение ООН, основанное в 1948 году, регулирует вопросы безопасности и охраны окружающей среды в международном судоходстве. Организация финансируется государствами-членами.
#Hormuz#TankerMarket#WarRisk#Geopolitics#ShippingSecurity
🚢Совет IMO проведёт экстренное заседание по кризису на Ближнем Востоке.
Совет Международной морской организации (IMO) проведёт внеочередное заседание 18–19 марта 2026 года в Лондоне, посвящённое влиянию кризиса на Ближнем Востоке на международное судоходство.
Основное внимание будет уделено ситуации в Аравийском море, Оманском заливе и Персидском заливе, включая риски для торгового флота и экипажей в районе Ормузского пролива — одного из ключевых маршрутов мировой энергетической торговли.
Внеочередная 36-я сессия Совета IMO (C/ES.36) созвана по инициативе ряда государств-членов. Заседание пройдёт под председательством Виктора Хименеса (Испания).
Генеральный секретарь IMO - Арсенио Домингес уже провёл предварительные брифинги с представителями отрасли и государствами-членами для обмена информацией о текущей ситуации и потенциальных рисках для безопасности судоходства.
Совет IMO, состоящий из 40 государств, является исполнительным органом организации и отвечает за координацию международных мер по безопасности и регулированию морского транспорта.
📌International Maritime Organization (IMO) — специализированное агентство ООН, созданное в 1948 году (начало работы — 1959 год). Организация отвечает за разработку международных правил безопасности судоходства, защиты моряков и охраны морской среды. Членами IMO являются более 170 государств.
#IMO#MaritimeSafety#Hormuz#ShippingSecurity#GlobalShipping
🚀 Mitsui OSK Lines to Review US-Iran Ceasefire Before Navigating Strait of Hormuz
Japan’s Mitsui OSK Lines, a leading global shipping company, plans to closely examine the specifics of a ceasefire agreement between the United States and Iran before permitting its vessels to traverse the Strait of Hormuz. Bloomberg posted on X, highlighting the strategic importance of this waterway, which is a critical passage for global oil shipments. The company aims to ensure the safety and security of its operations in the region, given the historical tensions and potential risks associated with navigating this vital maritime route. Mitsui OSK Lines' decision underscores the cautious approach taken by major shipping firms in response to geopolitical developments that could impact international trade and shipping lanes.
#MitsuiOSKLines#USIranCeasefire#StraitOfHormuz#globalshipping#internationaltrade#geopolitics#shippingsecurity#oilshipments#maritimeroute#Bloomberg