Что делать если нужно поставить какую-то 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
Немцы в Китае проседают. Импорт авто из Германии в 2025-м упал на 40+% к 24-му. Немцам это неприятно, на автопром у них приходится 19% ВВП. С 2019 года в автопроме Германии сократили 112 тыс рабочих мест.
Попытки сделать "машину специально для китайцев" тоже не работают. AUDI (без колец) E5 Sportback 👆, созданная в партнерстве с SAIC, провалилась в продаже. Со старта прошло несколько месяцев, завод объявил скидку в 10+%.
Может и мы доживем до такого когда-нибудь.
Однозначно - 👍
Не доживем - 👎
#audi
Специально для ценителей немецкого автопрома - новое поступление в Major Expert. Дизельный AUDI Q8 2019 гв, с небольшим пробегом 111 тыс км. Без проблем по технике.
3-х литровый дизель, 249 лс и 600 Нм, полный привод, 8-и ступенчатая АКПП, 7 сек до сотни, при расходе меньше 10 л дизеля на 100 км. Обогрев лобового стекла и руля, вентиляция передних сидений, черный потолок, диски 20".
Цена - 5,9 млн руб.
Менеджер Кирилл @KirStar96
Кстати - с 1 апреля утиль снова вырастет.
#audi
AUDI A8 2013 года выпуска с пробегом 96 тыс км - уникальная возможность примерить на себя настоящий немецкий представительский класс. Нельзя пропустить.
Версия Long, полный привод Quattro, бензиновый 3-х литровый мотор на 290 сил. Разгон до сотни за 5.9 секунд. Окрасы - только бампера, хорошее техническое состояние.
Цена - 2,9 млн руб.
Менеджер Кирилл @KirStar96
#audi
Интересное про выбор самих китайцев. 9 января там вручали премию Автомобиль года в Китае и победил внезапно AUDI E5 Sportback, спроектированный "совместно" SAIC и Audi.
Полностью электрический, на китайской платформе, с китайской электроникой, он обошел всех чистокровных китайцев. У него не самые большие продажи, он не перевернул рынок и никаких супер новаций в нем нет.
Наверное так китайцы отметили момент, когда они впервые научили немцев делать машины, от Audi у него только название.
Немного странно - 🤔
Но можно понять - 🤝
#audi
Пушка-гонка AUDI A5, 3-х литровый дизель на 286 лс, 620 Нм и полный привод. Редкая машина. Момент доступен с 1500 оборотов, чтобы ехать быстро не нужно давить педаль и раскручивать мотор. 5 секунд до сотни, но по ощущениям еще быстрее.
Год выпуска - 2020-й, всего 100 тыс км пробега (для немецкого дизеля это пустяки). Один хозяин и идеальное состояние. Цена - 4,655 млн руб.
Подробности у Кирилла @KirStar96
#audi
AUDI готовит электрический ответ на Mercedes-Benz G-Class.
Машина будет стоять выше Q7 и Q8, в ее основе концепт Audi Q6 e-tron Offroad, с увеличенным клиренсом, усиленным кузовом, крупными шинами и портальными мостами.
Два электромотора мощностью более 500 л.с., система рекуперации и большой запас хода. В компании проект называют новой страницей истории.
Ждем — 👍
#audi
Мощный, четко управляемый AUDI Q8 — такое Китай построить не может.
В Major Expert на выбор 10 машин с 3-х литровыми моторами, бензиновыми и дизельными, 340 лс и 286 лс, 5,8-6,1 секунды до сотни.
Фирменный полный привод, спортивный кузов не успел примелькаться. Богатый интерьер и набор опций. Пробеги от 100 км до 136 тыс. км. Цена 5,49 - 14,7 млн руб.
Выбрать можно тут
Звоните +7 (495) 089-05-39
#audi
All new Audi A6 gets a long-wheelbase “🔤” version
📰 The long-wheelbase Audi A6L sedan has debuted in China. The model is produced by the FAW-Audi joint venture. The starting price is 323,000 yuan (about $45,000).
📏 The length increased by 210 mm to 5,142 mm, with extended rear doors and trunk. The wheelbase is 3,066 mm.
🐎 The engine lineup includes 2.0-liter turbocharged gasoline engines producing 204 and 272 hp, as well as hybrid versions: a 2.0-liter with 296 hp and a 3.0-liter with 390 hp. The sedan comes with a 7-speed dual-clutch transmission, front-wheel drive or all-wheel drive, and optional air suspension.
#Audi@Car_News
Новая Audi A6 получила удлинённую версию 🔤
📰 В Китае дебютировал удлинённый седан Audi A6L. Модель выпускается на совместном предприятии FAW-Audi. Стартовая цена – 323 000 юаней (около $45 000).
📏 Длина увеличилась на 210 мм и достигла 5142 мм, при этом были удлинены задние двери и багажник. Колёсная база составляет 3066 мм.
🐎 Линейка двигателей включает бензиновые турбомоторы объёмом 2,0 литра мощностью 204 и 272 л.с., а также гибридные версии: 2,0-литровую на 296 л.с. и 3,0-литровую на 390 л.с. Седан оснащается 7-ступенчатой роботизированной коробкой передач, передним или полным приводом, а также опциональной пневмоподвеской.
#Audi🚘Автоновости
Тоска автолюбителей по нормальным машинам порождает удивительные вещи. В прошлом году в Британии возник стартап Audacious Automotive который, что будет возрождать легендарную AUDI Quattro - с её раллийных побед началась современная история AUDI.
У исторической Quattro был 5-и цилиндровый мотор, сейчас британцы хотят ставить в рестомод V8 4,2.
Ни одной машины они пока не собрали, но СМИ уже пишут о появлении уникального продукта. Из готового - только фото недоваренного кузова. Цена вопроса кстати - 470 тыс долл и кроме денег нужно пригнать и донорскую Quattro и мотор V8.
Это смешно - 😁
Нет, это круто - 👍
#audi
AUDI прикончил А8 не навсегда. Решение о создании преемника принято и к концу десятилетия он появится.
В 2021 году AUDI показал концепт Grandsphere, который считался кандидатом на замену уходящему А8. Говорили что он "практически котов к производству". Тизеры дают нам понимание того, как скорее всего будет выглядеть новый А8.
Дизайн прекрасен, что будет с силовой установкой пока неизвестно.
Красивое - 👍
Уже не важно - 👎
#audi
📰The new Audi A6 has finally been unveiled
・The 2026 Audi A6 sedan enters a new generation with a smoother design and a tech-centric interior.
・Along with slippery new bodywork, the redesigned A6's dash is a haven for screens, and U.S. models have a 362-hp turbocharged V-6.
・While the European version goes on sale first, the U.S. lineup will arrive later this year and likely start at around $65,000.
@CarsNews
#Audi