Что делать если нужно поставить какую-то 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
Годы идут, приоритеты не меняются 🇦🇺
Qantas, флагманская авиакомпания Австралии, продолжает полагаться на Boeing 737-800 в качестве единственного узкофюзеляжного самолета в своем основном флоте.
⏺Компания является крупнейшей авиакомпанией в регионе Океании по размеру флота и количеству международных направлений, а также единственной авиакомпанией в мире, которая летает на все семь континентов благодаря антарктическим обзорным чартерам.
⏺Qantas выбрала единый тип узкофюзеляжного самолета для упрощения обучения пилотов, технического обслуживания, логистики операций и снижения общих эксплуатационных расходов
⏺Qantas недавно объявила о планах замены своего флота 737-800 на более новые Airbus A321XLR. Компания уже получила свой первый 321, хотя пока не ввела его в эксплуатацию, и списала три 737.
📌Boeing 737-800, представленный в 2002 году как часть семейства Next Generation (NG), стал самым популярным узкофюзеляжным самолетом в мире с более чем 5,200 заказанными единицами.
______
738 или всё же 321?
Лёгкое небо
#aviation#B737
Переходный этап в гражданской авиации 💙
⏺Поколение Classic в семействе самолётов Boeing 737 — это значимый и логически выверенный переходный этап между ранними моделями и более современными версиями NG и MAX.
⏺К данному поколению относятся модификации Boeing 737-300, 737-400 и 737-500. Их серийное производство началось в начале 1980-х годов и продолжалось почти два десятилетия.
⏺Classic стал своевременным ответом компании Boeing на всё возрастающие требования авиарынка к более вместительным, экономичным и одновременно более тихим узкофюзеляжным самолётам.
⏺Одним из ключевых технических новшеств стало внедрение новых турбовентиляторных двигателей CFM56, разработанных совместным предприятием General Electric и SNECMA.
⏺Эти двигатели оказались заметно тише и экономичнее по сравнению с предыдущими JT8D, использовавшимися на ранних версиях 737. Однако они были больше по диаметру.
⏺В результате конструкторам пришлось адаптировать дизайн мотогондол, придав им характерную сплюснутую форму снизу. Именно так появилась знаменитая “улыбка” Boeing под крылом — легко узнаваемая деталь, ставшая фирменной чертой Classic.
⏺Самолёты поколения 737 Classic получили полностью обновлённую кабину экипажа, более современную для своего времени авионику, а также улучшенные аэродинамические характеристики.
⏺Были увеличены объёмы топливных баков и, соответственно, дальность полёта. Это сделало самолёты более универсальными — подходящими как для коротких, так и для среднепротяжённых маршрутов.
⏺Лайнеры этой серии активно эксплуатировались крупнейшими авиаперевозчиками по всему миру, в том числе в странах СНГ и особенно в России, где они стали популярными благодаря своей надёжности.
⏺Даже сегодня, несмотря на почтенный возраст, отдельные экземпляры Boeing 737-300 и 737-500 продолжают выполнять полёты, чаще всего в грузовых вариантах или в составе чартерных авиакомпаний.
⏺Поколение Classic сыграло важную и достойную роль в истории развития гражданской авиации. Эти самолёты стали надёжным рабочим инструментом, связавшим старую и новую эпохи узкофюзеляжных авиалайнеров Boeing.
Лёгкое небо | Донат
#aviation#B737#Boeing
✈️ Факт дня | Шасси
📌Шины шасси самолёта накачаны не обычным воздухом, а азотом
🔵Причина заключается в том, что азот, которым заполняют колёса, инертен и не поддерживает горение. При посадке шины нагреваются до 200-250°C от трения, и обычный воздух с кислородом мог бы спровоцировать возгорание изнутри
🔵Шины Boeing 737 рассчитаны примерно на 300 посадок. После этого покрышку отправляют на восстановление протектора – нарезают новый рисунок. Одну шину можно восстановить до 5-7 раз, прежде чем она окончательно списывается
Лёгкое небо
#aviation#LN_fact#B737
А теперь о боинге 🥰
Альтернатива шарклетов у боинга - винглеты, поэтому речь пойдёт о них.
Винглеты — это вертикальные или изогнутые окончания крыла самолёта, которые уменьшают индуктивное сопротивление и увеличивают топливную эффективность. Их основная задача — бороться с вихрями, которые образуются на концах крыла и создают лишнюю турбулентность и сопротивление.
Один из самых узнаваемых видов винглетов — скмитары (scimitar winglets). Это модернизированные винглеты с характерным двойным изгибом. Они используются на Boeing 737 MAX и некоторых модификациях 737NG.
Что дают скимитары?
⏺Снижение расхода топлива до 2% по сравнению с обычными винглетами.
⏺Улучшение аэродинамики и дальности полёта.
⏺Красивый внешний вид, который легко узнать.
Лёгкое небо | Подписаться
#aviation#ГА#B737#Winglets
🇺🇸Boeing 737 United Airlines столкнулся с двумя машинами противообледенительной обработки в Денвере
📌6 марта Boeing 737-800 United Airlines, готовившийся к рейсу в Нэшвилл, начал руление преждевременно и ударил крыльями две противообледенительные машины. Экипаж решил, что обработка завершена и техника убрана за линии безопасности, хотя два автомобиля всё ещё стояли перед крыльями. Одна из машин от удара опрокинулась на бок
🔵По данным NTSB, пилоты были заняты разговором, когда второй пилот услышал брифинг от наземной команды и подтвердил его. Капитан не был уверен, что сообщение адресовано их рейсу. После получения разрешения на руление самолёт тронулся – наземная бригада не успела его остановить
🔵Из 136 человек на борту никто не пострадал, один сотрудник наземной службы получил незначительные травмы. Самолёт получил серьёзные повреждения крыльев, элеронов и предкрылков. Расследование продолжается
⬅️Как думаете, чья ответственность в данной ситуации – экипажа или наземной службы?
Лёгкое небо
#aviation#news#UnitedAirlines#B737#Денвер#NTSB
🟣🟣🟣🟣🟣🟣🟣🟣🟣🟣🟣🟣🟣🟣🟣🟣🟣
📌Дорогие подписчики, мы продолжаем модернизацию канала, поэтому сегодня собрали для вас глоссарий с основными хэштегами канала
Основные:
#aviation
#news
#LN_EDU
#airport
Страны:
#Россия
#Белоруссия
Остальные:
#vibe
#metar
#S7TRAINING
ВС:
#A320
#B777
#A350
#B777X
#B737
#A380
#А330
#МС21
#Ту214
#Су57
#ssj100
#B737
#B787
#drone
#аэростаты
Системы:
#Leonardo
#FFS
Компании:
#Airbus
#Boeing
#Embraer
#Cessna
#ВертолётыРоссии
#ОАК
#Росавиация
#Ростех
#winwing#winctrl
#flightradar24#fr24
#Авиатор
Авиакомпании:
#Аэрофлот
#S7#S7Airlines
#ЮТэйр
#Белавиа
#Azur
#Ямал
Аэропорты:
#Шереметьево#Sheremetyevo
#Домодедово
#Внуково
#Жуковский
#Пулково
События:
#Emergency
#деньрождения
#ковёр
#sqw7700
#MayDay
#quiz
#spotting#споттинг
#конкурс
#DubaiAirShow2025#DAS25
Профессии:
#бортпроводники
#crew
#FlightAttendant
🔵Мы непрерывно работаем над тем, чтобы каждый день радовать вас качественным контентом и удобной навигацией по каналу
⬅️Если у вас есть идеи по новым рубрикам на канале - пишите их в комментарии. Кто знает, возможно именно ваша идея будет воплощена в жизнь 👀
Лёгкое небо