Что делать если нужно поставить какую-то 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
Calling startups in the field of #agritech & other sectors, developing digital solutions that can reduce the digital divide and boost the global economy for G20 #DigitalInnovationAlliance.
Know more at https://mygov.in/task/launch-applications-g20-digital-innovation-alliance/
#G20India
China invents game-changing process that turns desert sand into fertile soil in just 10 months
[Read FullArticle]
@WorldNews#DesertGreening#Agritech#ChinaTech
Что делаем осенью, чтобы весной отдыхать? Правильно, наносим упреждающий удар по сорнякам! 🌾
Только что обработали озимую пшеницу (посев 20.09) современным гербицидом «Секатор Турбо».
· Норма: 65 г/га
· Водовылив: 35 л/га
Зачем это нужно?
✅ Чтобы уже с осени очистить поле от сорняков.
✅ Дать культуре уйти в зиму чистой и без конкурентов.
✅ Весной не тратить время и деньги на опрыскивание.
✅ Избежать лишнего стресса для пшеницы в самый важный период вегетации.
Кстати, о севе! У нас есть опыт с разной нормой высева: и 2 млн, и 4 млн всхожих семян на га. Как думаете, какая густота покажет лучший результат? 👇
А вы применяете осеннюю гербицидную обработку? Какие нормы высева считаете оптимальными? Делитесь опытом в комментариях! 🚜
#Пшеница#ОзимаяПшеница#СекаторТурбо#Гербициды#ЗащитаРастений#Агрономия#СельскоеХозяйство#Агробизнес#Фермер#Зерно#Растениеводство#Agritech#Урожай2024#ОсенниеПолевыеРаботы#НормыВысева
Indonesian Unicorn eFishery Faces Crisis
eFishery, Indonesia's smart fish feeder unicorn, faces severe troubles after a board investigation revealed massive misrepresentation of business metrics. Initially claiming to have sold 400,000 units, true sales were only 6,300 with severe financial losses from 2018 to 2024. Recent data indicates $50 million left in accounts and substantial layoffs, shrinking from 2,600 to 200 employees. Investors like Temasek and Softbank now face losses, expecting only a fraction returned per dollar invested. Concerns arise regarding due diligence practices during funding rounds when financial issues were likely evident. Read more from Bloomberg here.
#eFishery#Indonesia#Startup#Unicorn#Softbank#Temasek#Fintech#Investment#Business#Crisis#Economy#Funding#HealthTech#AgriTech#TechNews#FinancialFraud#DueDiligence#InvestorLoss#MarketTrends#Surveillance#TechIndustry
Отличный рапс — залог будущего урожая! ✅
➡️ Дата посева: 22 сентября
➡️ Ширина междурядья: 70 см
➡️ Предшественник: Нут
На сегодняшний день имеем хорошо развитые, сильные растения. Рапс полностью сформирован и готов к зимовке без лишних вмешательств.
Главный вывод из нашего опыта: мы НЕ БУДЕМ искусственно останавливать его вегетацию. Ранее такие попытки часто приносили больше вреда, чем пользы. Пусть культура входит в зиму естественно, согласно своим биоритмам.
Видео прилагаем — оцените состояние наших посевов! 👇
📢 Коллеги-агрономы, ваше мнение очень важно!
Как вы готовите озимый рапс к зиме?
Делаете ли ретардантную обработку осенью или полагаетесь на естественное развитие?
Какой, на ваш взгляд, лучший предшественник для рапса?
Делитесь своим опытом в комментариях! Обмен реальными практиками — это бесценно.
#Рапс#ОзимыйРапс#Рапс2025#Нут#Предшественник#ТехнологииПосева#Междурядье#ОсенниеПосевы#ПодготовкаКЗиме#ЗимовкаРапса#СельскоеХозяйство#Агроном#Агробизнес#Растениеводство#Полеводство#AgriTech#Фермер#АгроТехнологии#Опыт#Агро2025