Что делать если нужно поставить какую-то 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
✈️Трагедия в небе : грузовой самолёт UPS потерпел крушение у главного хаба службы доставки
В международном аэропорту Луисвилла (штат Кентукки) потерпел крушение грузовой самолёт McDonnell Douglas MD-11F, принадлежащий UPS Airlines.
Самолёт направлялся на Гавайи. На борту находились три члена экипажа, по предварительным данным, погибло не менее семи человек.
📦UPS Airlines — дочерняя компания крупнейшей в мире службы доставки UPS, чей главный хаб Worldport находится именно в Луисвилле. Здесь ежедневно проходит более 2 млн отправлений, а работают 12 тыс. человек.
Флот авиакомпании превышает 500 самолётов, из них 292 — собственные. UPS — крупнейший оператор Boeing 747-8F и один из ведущих эксплуатантов Boeing 757/767, MD-11F и Airbus A300 Freighter.
Это удар не только по компании, но и по целой системе, где Луисвилл — один из ключевых узлов доставки.
#ТИСЛОДЖИСТИК🦏
#Авиалогистика
#UPS
⏺⏺⏺ואיך אתם הייתם מגיבים???
בינתיים, מניין ההרוגים עלה ל-7: צוות המטוס שמונה 3 אנשים ועוד 4 אנשים על הקרקע. המטוס היה בן 34 שנים והיה אמור להמשיך בטיסה להוואי.
https://t.me/AviationNewsIL/8238
#התרסקות#ארהב#UPS#UPS2976#MD11
🗣דיווחים ראשונים על התרסקות מטוס UPS בארה"ב
עוקב אחר דיווחים על התרסקות בלואיוויל, ובה ייתכן שמטוס MD-11 של UPS התרסק מיד לאחר ההמראה.
https://t.me/AviationNewsIL/8233
#התרסקות#ארהב#UPS#UPS2976#MD11
President Joe Biden enlists Walmart, FedEx to fix bottlenecks
President Joe Biden urged the private sector to help ease supply chain blockages that are threatening to disrupt the U.S. holiday season and said the White House plans a nationwide overhaul of the clogged system.
#JoeBiden#supplychain#Walmart#FedEx#UPS#News#Reuters
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➖
🔴לא רק MD-11: ה-FAA החליט לקרקע גם את גרסאות המקדונל דאגלס DC-10 בשל מבנה המנוע הדומה שלהם
בשבוע שעבר הוציא ה-FAA צו חירום לכל מטוסי בואינג מדגם MD-11 ו-MD-11F. צו החירום אסר על טיסות נוספות עד לבדיקת המטוס ולביצוע כל הפעולות המתקנות הרלוונטיות. כעת, הצו מתרחב גם למטוסי המקדונל דאגלס DC-10.
https://t.me/AviationNewsIL/8304
#התרסקות#ארהב#UPS#UPS2976#FAA#MD11#DC10
🚨 모닝스타 전문가가 공개한 "9% 배당수익률" 숨겨진 보석주
워런 버핏도 인정한 투자 원칙을 따르는 모닝스타의 수석 전략가가 2025년 하반기 '돈 되는' 배당주 리스트를 전격 공개했습니다.
가장 눈길을 끄는 건? 리오넬바셀(LYB) - 무려 9% 배당수익률에 공정가치 대비 40% 할인된 가격.
더 놀라운 사실은 상반기 최대 하락주였던 UPS가 오히려 6.5% 배당수익률로 '투자 기회'가 되었다는 점입니다. 아마존과의 결별이 악재가 아니라 오히려 마진 개선의 전환점이 될 수 있다는 분석이 흥미롭네요.
💡 전문가가 강조한 핵심 인사이트:
관세 전쟁 한복판에서도 유틸리티·필수소비재·헬스케어는 안전
AI 과열 상태에서 가치주로의 자금 이동 신호
달러코스트 애버리징으로 하락장을 기회로 만드는 전략
특히 트럼프 정부의 의약품 가격 정책 우려로 브리스톨마이어스가 제외되고, 대신 에버소스(4.7%), 키뱅크(5.2%), 에너지트랜스퍼(7%+)가 신규 편입된 배경도 주목할 만합니다.
7-8월 관세 협상 마감일이 다가오면서 시장 변동성은 더욱 커질 전망. 지금이 방어적 배당주로 포트폴리오를 재편할 마지막 기회일 수도 있습니다.
👇 전체 10개 종목 리스트와 각 종목별 투자 논리가 궁금하다면 아래 링크 클릭!
https://themiilk.com/articles/a4de68e3a?u=3e083717&t=a9e289131&from=
#배당주#모닝스타#가치투자#리오넬바셀#UPS#관세정책#2025투자전략