Что делать если нужно поставить какую-то 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
20 лет назад автопром старался дать покупателю максимум автомобиля, а сейчас набирает силу тренд "обосновать минимум". По крайней мере в Европе.
Гендир FIATвысказал мнение, что автопром удорожают системы безопасности, которые были бы не нужны, если бы машины были медленнее и меньше.
Выход - ограничить скорость машин на уровне железа, до разрешенной законом, - мощные моторы не нужны. Датчики, камеры, системы распознавания знаков - тоже в топку. Дорожает из-за них.
Мы знаем это давным-давно, а до европейцев только начинает доходить.
Это правильно - 👍
Но не весело - 👎
#fiat
Милая яркая машина для девушки - FIAT 500 II. Не только средство передвижения, но и аксессуар, дополняющий образ. Кусочек Милана, Рима, Турина и Вероны.
2021 год выпуска, пробег 51 тыс. км. Двигатель бензиновый, 1 л, на 70 лс, передний привод. Машина небольшая и несложная, но стиля столько, что все будут оборачиваться. Любителям итальянского дизайна строго рекомендовано, за него машина собрала кучу премий и наград.
Цена - 1,5 млн руб.
Подробности у Кирилла @KirStar96
#fiat
Недавно мы скептически высказались о FIAT 500, мол медленный, маленький и дорогой.
В комментариях писали, что машина хороша для своих целей. Действительно она неплохо продается, в 2023 продано больше 170 тыс штук.
Машина надежная и безопасная. По рекламному ролику 👆видно, что автомобиль готов защитить своего владельца от чего угодно, даже от женского гнева.
Берем — 🤝
Все равно нет — 👎
#fiat
Мы капризничаем по поводу цены и технических характеристик отечественных машин. Но европейцы за такие деньги делают тоже самое.
Например новый гибридный FIAT 500. Это мягкий гибрид, на электричестве машина не едет, оно только помогает (незаметно) при разгоне.
У машины за 17+ тыс евро (1,66 млн руб) механическая коробка и разгон до сотни за 14 сек. Кажется, её нет смысла покупать даже с учетом внешности.
#fiat
Пляжный автомобильчик 🚘 за 53 тысячи евро
🇮🇹 Переделкой Fiat Topolino займётся ателье с вековой историей — Carrozzeria Garavini из Турина.
🏖 Проект вдохновлён островом Капри и стилем dolce vita. Крыша 8-сильного микрокара из металлической стала парусиновой, исчезли двери, а колёса прикрыли колпаками. Задняя часть кузова внутри отделана деревом, а части кресел можно использовать в качестве пляжных подушек.
💸 Всего планируют сделать 10 экземпляров, переделка обойдётся в 45 тысяч евро без учёта цены машины — это в 6 раз дороже исходной модели.
@avtoNovosti
#Fiat#юмор
The most powerful and fastest production 🚘 has been unveiled
📆 In 2007, Abarth was re-established as an independent division with the creation of the current company Abarth & CSpA, 100% controlled by Fiat Group Automobiles SpA.
🐎 The new FIAT Abarth 600e Scorpionissima features a 280-horsepower electric powertrain.
💶 A total of 1,949 electric cars will be produced (in honor of the year of Abarth's foundation). Cost from €48,950.
⚡ Acceleration to 100 km/h – 5.85 seconds. Maximum speed – 200 km/h. The 54 kWh battery will last for 334 kilometers.
🔎 The suspension is also improved, a self-locking differential Torsen and Alcon brakes with a diameter of 380 mm are installed. The special version of Scorpionissima is characterized by black decor, sports seats, and leather and alcantara are used in the trim.
@CarsNews
#FIAT#Abarth#EV
Компания Fiat планирует в ближайшем будущем выпускать новый пикап Grande Panda, который, по сообщениям итальянских СМИ, будет производить на заводе в сербском городе Крагуеваце.
Официальное подтверждение мы получим 21 мая, когда глава Stellantis, Антонио Филоса, представит новый стратегический план автомобильной группы.
Grande Panda Pickup должен появиться в 2028 году. Дизайн будет выполнен в новом фирменном стиле марки. Фары и задние фонари будут состоять из «квадратных пикселей», создавая современный технологичный вид. Также предусмотрен высокий клиренс, защитный пластиковый обвес и рейлинги.
#Fiat#авто#Сербия#Serbia
@NewsSerbia
Представлен самый мощный и самый быстрый серийный 🚘
📆 В 2007 году Abarth был восстановлен как независимое подразделение с созданием нынешней компании Abarth&CSpA, на 100% контролируемой Fiat Group Automobiles SpA.
🐎 Новый FIAT Abarth 600e Scorpionissima оснащён 280-сильной электрической установкой.
💶 Всего будет выпущено 1949 электромобилей (в честь года основания Abarth). Стоимость от €48 950.
⚡ Разгон до 100 км/ч – за 5,85 секунды. Максимальная скорость – 200 км/ч. Аккумулятора ёмкостью 54 кВт-ч хватает на 334 километра.
🔎 Также улучшена подвеска, установлен самоблокирующийся дифференциал Torsen и тормоза Alcon диаметром 380 мм. Специальная версия Scorpionissima отличается чёрным декором, спортивными сиденьями, а в отделке используются кожа и алькантара.
@avtoNovosti
#FIAT#Abarth#электрокар
Тільки що сталася ДТП біля ТРЦ "Україна": #Fiat#Doblo, д.н.з. #АІ0720СН, та трамвай 18 маршруту. Трамваї 1, 3, 18 та 15 перестануть ходить на деякий час. Тримайтеся :-)
Фото: Kocc Kazymko
FIAT В ЛИЗИНГ
▫️Практичность, оригинальность и модификация внутренней компоновки, высоты, колесной базы и конструкций задних и боковых дверей делают фургоны Fiat Ducato одним из наиболее функциональных коммерческих автомобилей.
▫️Коммерческие фургоны Fiat Ducato, оснащаются дизельным силовым агрегатом MultiJet нового поколения, которые располагают инновационной технологией Gear ShiftIndicator, обеспечивающей оптимизацию расхода топливной массы и снижение выбросов отработанных продуктов.
▫️Сегодня состоялась отгрузка именно такого, ультрасовременного фургона Fiat Ducato, Лизингополучателю.
▫️ЛК «Директ Лизинг» предоставила Fiat Ducato в лизинг на удобных условиях для Лизингополучателя.
▫️Аванс - 20%.
▫️Срок лизинга - 36 месяцев.
#ДиректЛизинг
#директлизинг
#лизинг
#leasing#fiat#fiatducato#Москва #2019
🚛 Осуществили поставку грузового фургона Fiat Ducato!
🎯 Это один из самых популярных коммерческих фургонов в Европе, который пользуется большим спросом и в России. Гамма моторов Fiat Ducato характеризуется существенной экономией топлива. А сам автомобиль отличается надежностью конструкции, хорошими техническими параметрами и экономичностью.
Особое внимание в Fiat Ducato уделено эргономике и безопасности: системы мониторинга слепых зон, полного контроля за торможением и удержания автомобиля в полосе движения, практически как у Мерседеса🔝
🎰 Fiat Ducato - идеальное решение для тех перевозчиков, которым необходимо заезжать в центры крупных городов. Он неприхотливый и хорошо переносит российскую зиму, т.е. можно рассматривать этот автомобиль как достойную инвестицию. И в своем сегменте Fiat Ducato весьма доступен, не говоря уже о выгодном лизинге.
Оцените все его преимущества с ЛК «ДиректЛизинг»!
☎️ +7 (495) 737-00-99
#лизинг#директлизинг#автолизинг#коммерческийтранспорт#фиат#дукато#fiat#ducato
【TokenPocket Retweeted】
Retweeted TransitFinance : Unlimit Crypto is live🚀! Transit Buy goes global, unlocking infinite crypto possibilities!
🚀#Transit#Buy is now integrated with Unlimit Crypto unlimit_crypto, providing crypto on-ramp support to hundreds of thousands of users globally.
Transit Buy spans the global entry points for #fiat and #cryptocurrency, ensuring #seamless access for you! #Crypto#TransitBuy#UnlimitCrypto
【Details】https://twitter.com/TokenPocket_TP/status/1746088055679934633
【Powered By】Crypto Box