Что делать если нужно поставить какую-то 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
Ex-Boeing 737 MAX chief pilot indicted for fraud
A former chief technical pilot for Boeing has been charged with fraud for withholding critical information about the company's 737 MAX jet
#News#Reuters#Boeing#737Max#Pilot
Subscribe: http://smarturl.it/reuterssubscribe
Reuters brings you the latest business, finance and breaking news video from around the globe. Our reputation for accuracy and impartiality is unparalleled.
Get the latest news on: http://reuters.com/
Follow Reuters on Facebook: https://www.facebook.com/Reuters
Follow Reuters on Twitter: https://twitter.com/Reuters
Follow Reuters on Instagram: https://www.instagram.com/reuters/?hl=en
➖@reutersworldchannel➖
🇪🇬EgyptAir получила свой первый Boeing 737 MAX 8
📌Флагманский перевозчик Египта EgyptAir официально ввёл в парк первый в истории страны Boeing 737-8 MAX
🔵Лайнер, взятый в лизинг у компании SMBC Aviation Capital, стал первым из партии в 18 самолётов, которые должны обновить флот авиакомпании в Каире
🔵Новый MAX дополнит уже имеющийся парк из 30 самолётов 737-800 предыдущего поколения. Благодаря высокой унификации, авиакомпания сможет интегрировать новый тип с минимальными затратами на переучивание
🔵Перевозчик планирует использовать новые самолёты на маршрутах средней и малой дальности – из Каира в Париж, Брюссель, Стамбул и Вену. Пассажиров ждёт обновлённый интерьер Boeing Sky Interior с увеличенными иллюминаторами, багажными полками и адаптивным LED-освещением
Лёгкое небо
#aviation#news#EgyptAir#Boeing#737MAX
🥰 Кризис Boeing – 737 MAX, MCAS и 346 жизней
📌Две катастрофы Boeing 737 MAX за четыре с половиной месяца – Lion Air в октябре 2018 года и Ethiopian Airlines в марте 2019-го. 346 погибших. Схожий сценарий: система MCAS, получавшая данные от одного датчика угла атаки, автоматически опускала нос самолёта при ложном срабатывании. Пилоты не знали о существовании MCAS – она не упоминалась ни в руководстве по эксплуатации, ни в программе переобучения
🔵MCAS появилась из-за компромисса. Новые двигатели LEAP-1B не помещались под крылом 737-го на прежнем месте — их сдвинули вперёд и вверх, что изменило аэродинамику. Вместо нового сертификата типа Boeing добавил программную компенсацию. 737 MAX был заземлён на 20 месяцев. EASA впервые провела собственную сертификацию, не приняв решение FAA автоматически. Это изменило практику по всему миру
🔵Финансовые потери Boeing превысили 20 миллиардов долларов. Проблемы с качеством продолжились: в 2024 году у MAX 9 в полёте вырвало дверную заглушку из-за отсутствующих болтов. Программа 777X задержалась на семь лет. В 2025 году Airbus A320 обогнал 737 по общему числу поставок. Кризис показал: модификация конструкции 1960-х имеет пределы
⬅️В полной статье – как забастовка 33 000 рабочих заморозила производство Boeing на семь недель, почему 777X задерживается на семь лет и что Boeing знал о проблемах MCAS за год до первой катастрофы.
Лёгкое небо × SkyMoments
#aviation#LN_EDU#история#Boeing#737MAX#MCAS
🛬 Китай снова открывает небо для Boeing!
⠀
🇨🇳 После месяца жестких ограничений Пекин неожиданно отменил запрет на покупку американских самолётов и авиационных комплектующих у Boeing. Об этом сообщает Bloomberg со ссылкой на осведомлённые источники.
⠀
🔧 Что произошло ранее?
В ответ на санкции США китайские власти ввели запрет на сделки с Boeing, включая поставки новых лайнеров и контрактов на техобслуживание.
⠀
✋ Символом этой "заморозки" стал Boeing 737 Max, предназначенный для Xiamen Airlines. Самолёт так и не был передан заказчику и вернулся обратно на завод в Сиэтле.
⠀
🌍 На фоне этого интерес к отклонённым лайнерам проявила саудовская Riyadh Air, выразив готовность выкупить самолёты, от которых отказался Китай.
⠀
🔁 А теперь — поворот на 180°:
Китайские авиаперевозчики получили "зелёный свет" — им вновь разрешено приобретать американские самолёты и компоненты без ограничений.
⠀
📊 Что это значит для мира авиации?
▪️ Boeing возвращается на один из крупнейших рынков планеты
▪️ Это может помочь американскому авиастроителю восстановиться после череды кризисов и репутационных ударов
▪️ Китай демонстрирует гибкость в экономической политике, несмотря на продолжающееся политическое противостояние
⠀
📈 На фоне глобального восстановления гражданской авиации после пандемии, это решение может существенно повлиять на расстановку сил на мировом авиарынке.
⠀
✈️ Впереди — ожесточённая конкуренция между Boeing и Airbus, и, похоже, небо снова становится ареной большой геополитики.
⠀
#Китай#Boeing#737MAX#авиация#новости#США#санкции#поставки#RiyadhAir#глобальныйрынок#авиастроение#Пекин#авиаперевозки#экономика#техника#воздух
🕯️🇮🇳Трагедия Air India затмила Парижский авиасалон
На фоне крупнейшего авиасалона в Париже, где Airbus заключает контракты на \$21 млрд, тишина со стороны Boeing звучит особенно громко. Всё из-за катастрофы Dreamliner Air India, летевшего из Ахмадабада в Лондон. Погибли 241 человек на борту и не менее 30 — на земле. 😢
Boeing и GE Aerospace отменили пресс-мероприятия, выразив соболезнования семьям погибших. Следователи уже извлекли «чёрный ящик» с борта.
🛩 Тем временем Airbus подписал 142 твёрдых контракта и 102 предварительных соглашения — на фоне череды кризисов Boeing, включая катастрофы 737 MAX в 2018 и 2019 годах.
💥 Дополнительную напряжённость на салоне внесло обострение конфликта между Израилем и Ираном: французские власти потребовали закрыть стенды израильских компаний. Некоторые ближневосточные делегации не прибыли вовсе.
📉 На этом фоне Boeing не сообщил ни об одном новом контракте, ограничившись выражением скорби.
До завершения расследования причин катастрофы Air India — никаких прогнозов.
#AirIndia#ParisAirShow#Boeing#Airbus#авиакатастрофа#Dreamliner#авиасалон#авианьюс#Иран#Израиль#чёрныйящик#737MAX#aviationnews#париж2025