Что делать если нужно поставить какую-то 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
Охота Nippon Steel за активами продолжается
Четвёртый в мире производитель стали Nippon Steel продолжает скупать доли в сталелитейных и горнодобывающих предприятиях. Так, анонсировано, что Nippon Steel и торгово-инвестиционная корпорация Sojitz приобретут 49% акций канадского железорудного проекта Kami.
Сделка будет осуществлена путем создания совместного предприятия, при этом мажоритарная доля в 51% сохранится у канадской горнодобывающей компании Champion Iron, в то время как Nippon Steel получит 30%, а Sojitz — 19%.
Объем инвестиций японских компаний в проект оценивается в 168 млн долл. США. Ожидается, что закрытие сделки состоится к июню следующего года.
Kami расположен в самой восточной провинции Канады Ньюфаундленд и Лабрадор. Для японских компаний интерес представляет качество руды, так Nippon Steel оценивает содержание железа в канадской руде более чем в 67,5%. Высококачественная железная руда встречается крайне редко, составляя всего 5% мировых запасов. Такая высококачественная железная руда необходима сталеплавильным заводам Nippon Steel для построения технологического процесса прямого восстановления железа с использованием электродуговой печи для сокращения углеродного следа, поскольку удаление кислорода будет осуществляться водородом вместо угля.
Разработка месторождения будет осуществляться в течение четырех лет после завершения двухлетнего технико-экономического обоснования проекта (ТЭО). Предполагается, что добыча на канадском рудникe начнется в конце этого десятилетия. В случае успешного завершения ТЭО, японские компании дополнительно профинансируют 1,3 млрд долл. в разработку проекта.
В последние годы Nippon Steel активно инвестирует в горнодобывающие проекты. Например, в последние два года компания приобрела доли в проектах по добыче коксующегося угля в Канаде и Австралии.
А вот реализация флагманского проекта Nippon Steel по покупке US Steel, который превращается в символ японо-американский отношений, продолжает находится под угрозой. Агентство Bloomberg сообщило в среду, что Байден планирует официально заблокировать сделку по соображениям национальной безопасности.
#Япония#NipponSteel#Сталь
Глобальная стратегия японских металлургических корпораций
Япония занимает третье место в мире по объемам производсва стали. Лидерами национальной металлургической промышленности являются корпорации Nippon Steel,JFE Steelи Kobe Steel.
Поскольку внутренний спрос на сталь в Японии снизился примерно на 40% по сравнению с 1990 г., а также в связи с потерей традиционного для японцев китайского рынка, сталелитейные компании стремятся переориентироваться на глобальные рынки, активно скупая зарубежные производственные мощности от Индии до Бразилии.
Так, японская JFE Steel за 480 млн долл. выкупитдолю (50%) немецкой Thyssenkrupp в индийской компании JSW Steel, которая в 2027 г. планирует запустить завод по производству высококачественно электротехнической листовой стали.
На фоне масштабного строительства электрических сетей в Индии, ожидается, значительный рост спроса на электротехническую сталь до почти 500 тыс. тонн в 2030 году.
Ожидается, что эта продукция JSW Steel также будет и востребована в регионе АСЕАН, так как в рамках программы ASEAN Power Grid реализуется строительство электрических сетей и обеспечение энергетической безопасности в регионе путем интеграции энергетической инфраструктуры стран-участниц.
Показательна и долгосрочная стратегия другого крупного конгломерата Nippon Steel, которая предусматривает увеличение объемов производства стали в 1,5 раза до 100 млн тонн. При этом компания планирует существенно снизить объемы производства в Японии, закрыть 5 доменных печей из 15, а также значительно сократить рабочие места. Ключевую роль в успехе выбранной стратегии сыграет согласование сделки по приобретению американкой US Steel, перспективы которой до сих пор не прояснены.
Частично отказываясь от внутреннего производства, металлургическая отрасль Японии планирует активную экспансию на мировые рынки, минимизируя таким образом зависимость от сокращающегося внутреннего спроса.
#Япония#Сталь#NipponSteel
Nippon Steel Hit by Ransomware Attack
💻 Nippon Steel faces serious breach from BianLian, stealing 500GB of sensitive data. The attackers disclosed private info including financial data and personal details of top executives. With over 113,000 employees and $57.5B annual revenue, Nippon Steel is a key player in the steel industry worldwide. The hack adds to the company's challenges in 2025.
📌 For more details, visit Financial Times.
#NipponSteel#BianLian#CyberSecurity#DataBreach#Ransomware#SteelIndustry#Japan#TechNews
🚀 Japanese Firms Collaborate on Domestic AI Model Development
SoftBank, NEC, Honda, and Sony Group have established a new company named 'Japan AI Foundation Model Development' to create domestic AI foundational models for Japanese businesses. According to Odaily, a SoftBank executive will lead the company, with Nippon Steel, Kobe Steel, Mitsubishi UFJ Bank, Sumitomo Mitsui Bank, and Mizuho Bank contributing financially. SoftBank and NEC will handle development, while Honda plans to apply the results to autonomous driving, with Preferred Networks also participating. The company intends to apply for a public call from the New Energy and Industrial Technology Development Organization, which, if selected, could provide support amounting to 1 trillion yen over five years starting in 2026.
#JapaneseFirms#AI#SoftBank#NEC#Honda#SonyGroup#AIModelDevelopment#JapanAI#AutonomousDriving#NipponSteel#KobeSteel#MitsubishiUFJBank#SumitomoMitsuiBank#MizuhoBank#PreferredNetworks#PublicCall#NewEnergyIndustrialTechnology#TrillionYenSupport