Что делать если нужно поставить какую-то 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
🚢Precious Shipping отфрахтовала балкер типоразмера Handysize в пользу Louis Dreyfus и расширяется в танкерный сегмент.
Таиландская Precious Shipping Public Company Limited (PSL) заключила долгосрочный контракт тайм-чартера на судно “Napha Naree” (типоразмер Handysize) с Louis Dreyfus Company Suisse SA.
Согласно уведомлению на Stock Exchange of Thailand (SET), чартер заключён на 9–12 месяцев с началом 22 февраля 2026 года.
Ставка установлена на уровне 110% от среднего значения индекса Baltic Exchange Handysize Index (BHSI-38K) за предыдущие 15 дней.
Текущий ориентир по переменной ставке составляет около $13 400/сутки.
Фиксация по формуле «индекс + премия» отражает уверенность сторон в устойчивости сегмента Handysize при сохранении гибкости доходности в зависимости от рыночной динамики.
Параллельно PSL усиливает диверсификацию: дочерняя структура Precious Horizon (Сингапур) подписала MOA на покупку 47 999-dwt MR-танкера “Florence” (постройки 2006 года, Япония) за $11,1 млн.
Передача судна ожидается в период до 15 марта 2026 года.
Сделка знаменует стратегический вход группы в танкерный сегмент с целью расширения источников выручки за пределами сухого балка и повышения устойчивости к цикличности.
📌Precious Shipping Public Company Limited (PSL) — тайская судоходная компания, основанная в 1989 году, специализируется на перевозках сухих навалочных грузов.
Компания является публичной и торгуется на бирже Таиланда; контроль осуществляется тайскими акционерами во главе с семьёй Ламсум.
#PreciousShipping#Handysize#DryBulk#TankerMarket#Chartering
🚢Precious Shipping выходит в сегмент MR-танкеров.
Тайская Precious Shipping Public Company Limited (PSL) объявила о покупке среднетоннажного танкера класса MR через свою 100%-ную сингапурскую «дочку» Precious Horizon.
Речь идёт о танкере "Florence" (47 999 dwt, 2006 г.п., Япония) купленном по цене $11,1 млн; передача ожидается в период 20 февраля - 15 марта 2026 года.
Сделка знаменует стратегическую диверсификацию PSL из балкерного в танкерный сегмент для расширения источников выручки и снижения циклических рисков.
Параллельно компания продолжает обновление флота:
✔️ В 2024–2025 гг. проданы восемь старых судов.
✔️ В 2024 г. получены пять молодых eco bulkers (дедвейтом по 40 000 т).
✔️ Заказаны четыре новостроя - балкеры типоразмера Ultramax (верфь Taizhou Sanfu, поставки 2026–январь 2027).
✔️ В 2025–январе 2026 гг. получены ещё пять современных балкеров типоразмера Ultramax (дедвейтом около 66 000 тонн из Японии и Китая).
Стратегия PSL — омоложение сухогрузного флота при одновременном входе в комплементарный танкерный рынок.
📌Precious Shipping основана в 1989 году в Таиланде; публичная компания (листинг в Бангкоке). Контрольный пакет принадлежит семье Чандария (Chandaria).
#drybulk#tankers#fleetrenewal#ThailandShipping#PreciousShipping
🚢 Precious Shipping завершила 2025 год с прибылью $13 млн на фоне слабого рынка.
Тайский сухогрузный оператор Precious Shipping Public Company сообщил о чистой прибыли $13 млн по итогам 2025 года (против $41,3 млн в 2024-м). В IV квартале прибыль составила $10,77 млн при EPS THB0,23 ($0,01).
Средняя выручка на судно в 2025 году достигла $11948/сутки, в IV квартале: $14301 /сутки.
Снижение годовой прибыли связано со слабым фрахтовым рынком в первом полугодии и повышенным количеством докований: 22 судна прошли очередные докования и классификационные ремонты (средний простой: 17 дней).
В 2026 году запланированы осмотры лишь для 11 судов, что должно нормализовать операционную загрузку.
Операционные расходы снизились на 3% благодаря укреплению тайского бата, административные — на THB89,75 млн.
Компания реализовала три судна, получив THB33,09 млн прибыли. Финансовые расходы выросли на THB48,22 млн из-за заимствований под программу омоложения флота: подписано пять кредитных соглашений на $157,95 млн при погашении $46,68 млн долга.
📌Precious Shipping основана в 1989 году в Бангкоке. Компания создавалась как специализированный оператор в балкерном сегменте типоразмеров Handysize и Supramax, ориентированный на перевозки агропродукции, удобрений, стали и цемента в региональных и глобальных трейдах.
Precious Shipping — публичная компания, однако контрольный пакет находится у семьи Чандария (Chandaria).
#drybulk#earnings#Thailand#shippingmarket#PreciousShipping