TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #210 · 3 фев.

Что делать если нужно поставить какую-то 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

Резултати

Пронајдени 2 слични објави

Пребарај: #maritimerisk

当前筛选 #maritimerisk清除筛选

🚢Карта напряжения: горячие точки в судоходстве и морской логистике. Красное море и Суэц. Маршрут частично возвращается в расписания отдельных линий, но коридор остаётся зоной повышенного риска и страховой неопределённости. Рынок видит смешанные сигналы по восстановлению транзита и сохраняет повышенную волатильность по ставкам и слотам. Ормузский пролив и Персидский залив. Эскалация и военная активность вокруг Ирана поддерживают премии за риск и чувствительность танкерного рынка. Для операторов критичны скорость и возможность прохода, корректная оценка угроз и готовность к ограничениям движения. Чёрное море. Военные риски и вероятность ударов по портовой инфраструктуре продолжают влиять на доступность маршрутов и стоимость покрытия. Отдельный фактор — рост случаев навигационных помех и необходимость усиленного контроля безопасности рейса. Балтика и Восточное Средиземноморье. На ряде участков усиливается проблема GPS-jamming/spoofing, что повышает требования к bridge procedures, резервным методам навигации и управлению рисками при заходах в чувствительные зоны. Панамский канал. После «дорожной» фазы ограничений рынок адаптируется к более структурированным механизмам распределения слотов и планированию транзитов. Любые изменения гидрологии и правил бронирования быстро транслируются в цепочки поставок на направлениях Атлантика–Тихий океан. Западная Африка и отдельные районы высоких рисков. Пиратская активность глобально остаётся фактором стоимости и охраны экипажа: даже при локальных улучшениях статистики риск для моряков и судов требует поддержания процедур BMP и работы с охранными провайдерами. 📌International Maritime Organization (IMO) основана в 1948 году и является специализированным агентством ООН, формирующим международные нормы безопасности и предотвращения загрязнения с судов. Организация принадлежит системе ООН и управляется государствами-членами. #shipping#maritimerisk#Suez#Hormuz#logistics

🚢Ормузский пролив: влияние на сухогрузы, СПГ-танкеры и глобальные торговые потоки. По данным аналитической платформы Kpler, фактическая остановка транзита через Ормузский пролив начинает оказывать системное влияние на несколько сегментов морской торговли, выходя далеко за рамки нефтяного рынка. Транзит сухогрузов через пролив сократился на 91%, при этом около 280 балкеров остаются заблокированными в регионе. Наиболее затронуты балкеры типоразмеров Panamax, Supramax и Handysize, тогда как сегмент балкеров типоразмера Capesize практически не работает в этом коридоре. Ситуация влияет и на другие рынки. Персидский залив обеспечивает 16–18% мировых морских поставок удобрений и около 20% глобальной торговли СПГ. При этом терминал Ras Laffan временно остановлен, а ставки СПГ-фрахта в Атлантическом бассейне выросли более чем на $100 000 в сутки за одну торговую сессию. Дополнительным фактором риска остаются электронные помехи: с конца февраля зафиксировано более 100 инцидентов GNSS-интерференции, влияющих на навигацию и мониторинг судов. Аналитики отмечают, что текущая ситуация скорее представляет собой «коммерческое сдерживание», а не формальную блокаду. Однако последствия для глобальных цепочек поставок могут проявляться в течение нескольких месяцев, поскольку часть эффектов ещё не полностью отражена в фрахтовых индексах. 📌Kpler — международная аналитическая компания, основанная в 2014 году во Франции, специализируется на мониторинге энергетических потоков и судоходства на основе спутниковых и AIS-данных. Компания является частной и принадлежит инвестиционным фондам и основателям. #Hormuz#DryBulk#LNGShipping#Kpler#MaritimeRisk