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

Резултати

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

Пребарај: #maritimeinfrastructure

当前筛选 #maritimeinfrastructure清除筛选

🚢Судно "Mighty Servant 3" - доставило 18-тысячный плавдок в Нидерланды. Голландская морская компания Boskalis осуществила трансатлантическую транспортировку нового плавучего сухого дока грузоподъёмностью 18 000 тонн для верфи Shipyard Reimerswaal. Перевозка была выполнена полупогружным судном-тяжеловозом “Mighty Servant 3”. Погрузка проходила в порту Freeport (Багамы): судно балластировалось и погружало палубу ниже уровня воды, после чего плавдок длиной 168 метров был заведён на палубу. После откачки балласта конструкция была поднята и закреплена для перехода через Атлантику. После прибытия в Flushing (Vlissingen) разгрузка была проведена методом "float-off" — док был снова спущен на воду и отбуксирован к месту установки на верфи. Новый док размером 168 × 38 метров - значительно увеличит возможности Shipyard Reimerswaal, позволяя обслуживать более крупные суда и укрепляя позиции верфи на европейском рынке судоремонта. Для рынка тяжёлых морских перевозок операция подтверждает важность специализированных полупогружных судов при транспортировке крупногабаритной портовой и офшорной инфраструктуры. 📌Royal Boskalis Westminster N.V. — нидерландская морская компания, основанная в 1910 году, специализируется на дноуглублении, морских перевозках тяжёлых грузов и офшорной инфраструктуре. Компания является публичной; контрольный пакет принадлежит инвестиционной группе HAL Holding - основной акционер и контролирующая сторона — семейство Ван дер Ворм (Van der Vorm). Исторически состояние семьи связано с судоходной компанией Holland America Line, откуда и происходит название HAL. После продажи Holland America Line капитал семьи был направлен в инвестиционный холдинг, который стал HAL Holding. Через HAL семья инвестирует в разные отрасли: розничную торговлю, недвижимость, морской бизнес, промышленность и другие активы. Наиболее известный представитель — Мартин Ван дер Ворм (Martijn van der Vorm), его часто упоминают как одного из ключевых членов семьи и крупных голландских инвесторов. #HeavyLift#Boskalis#ProjectCargo#ShipRepair#MaritimeInfrastructure

🚢Logistec приобретает терминал IPA в Альтамире — выход на рынок Латинской Америки. Канадская логистическая группа Logistec Corporation объявила о покупке терминала IPA Terminal в порту Альтамира (Мексика), специализирующегося на перевалке навалочных грузов и металлопродукции. Сделка знаменует первое стратегическое расширение Logistec в Латинской Америке и усиливает позиции компании в сегменте генеральных и проектных грузов, включая сталь. Порт Альтамира - является одним из ключевых индустриальных хабов Мексики на побережье Мексиканского залива и играет важную роль в региональной металлургической и производственной цепочке поставок. Стратегическое расширение Logistec означает: ✔️ Расширение в Мексику - усиление присутствие Logistec в зоне USMCA. ✔️ Сегмент балкерных грузов остаётся стратегическим для инфраструктурных и энергетических проектов. ✔️ Диверсификация географии снижает зависимость от североамериканского рынка. 📌Logistec Corporation основана в 1952 году в Канаде. Компания является публичной (TSX) и контролируется семьёй Пакуин (Paquin), которая сохраняет контрольный пакет через семейный холдинг. #Breakbulk#PortExpansion#Mexico#Logistics#MaritimeInfrastructure

🚢Порт Барселоны объявил тендер на концессию универсального терминала. Порт Barcelona начал процедуру конкурса на предоставление концессии для публичного многофункционального морского терминала на причале Príncep d’Espanya. Решение принято после истечения срока предыдущей концессии в начале года. Согласно условиям, терминал должен обслуживать генеральные и смешанные грузы, исключая специализированные сегменты — пассажирские перевозки (кроме профессиональных водителей), навалочные и наливные грузы. Установлен минимальный объём неконтейнеризированного генерального груза, чтобы избежать концентрации исключительно на контейнерных операциях, уже обеспечиваемых другими терминалами порта. Инфраструктура площадью 87 425 кв. м должна включать не менее трёх современных мобильных кранов и шести комплектов вспомогательного оборудования. Дополнительные инвестиции в технику станут обязательными при превышении порогов 15 000 TEU в год или 50 000 тонн грузов типа Ro-Ro. Концессия рассчитана на 16 лет с возможностью досрочного расторжения с 10-го года в случае необходимости реорганизации портовой зоны. Для рынка это отражает стратегию диверсификации грузопотоков и усиления гибкости портовой инфраструктуры в условиях колебаний контейнерного сегмента и роста смешанных логистических операций в Средиземноморье. 📌Port de Barcelona — государственный порт Испании, основанный в современном административном формате в 1992 году, управляется Портовой администрацией Барселоны (Autoritat Portuària de Barcelona). Является одним из ключевых логистических хабов Средиземноморья. #PortBarcelona#TerminalConcession#GeneralCargo#MediterraneanPorts#MaritimeInfrastructure