Что делать если нужно поставить какую-то 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
LIVE IN 30 MINUTES❕
The implementation of Nigeria's #OneHealth strategic plan requires multidisciplinary & intersectoral collaboration which cuts across several key sectors.
Register to join us to discuss:
"Connecting Air, Land and Water: When we protect one, we protect all"
🕗 9:00 AM
🔗
https://bit.ly/OneHealthConference24
📣COMING UP
"Connecting Air, Land and Water: When we protect one, we protect all"
Register to join our upcoming #OneHealth virtual event organised in collaboration with other #onehealth stakeholders and support from Global Implementation Solutions
🗓️ March 6, 2024
🕗 9:00 AM
🔗
https://bit.ly/OneHealthConference24
🌍Register To Attend
#OneHealth is not a new concept, but it has become more important in recent years
On the 6th of March, in collaboration with other #onehealth stakeholders and support from Global Implementation Solutions, we will be delving into in-depth discussions on "Connecting Air, Land and Water: When we protect one, we protect all"
Register to join in⬇️
https://bit.ly/OneHealthConference24
⏳ONE HOUR TO GO
Register to join our Head of Comms, Dr Yahya Disu at the @WHO EPI-WIN webinar to discuss the importance of a #OneHealth approach in "Preventing Epidemics & Pandemics in Communities"
🗓️TODAY, 13 September 2023
🕚12:00 P.M.
🔗https://www.who.int/news-room/events/detail/2023/09/13/default-calendar/epi-win-webinar-preventing-epidemics-and-pandemics-in-communities--through-the-one-health-approach
Not all fever is malaria. #LassaFever can start with mild symptoms but may become severe if not treated early. Early detection and treatment save lives!!
✅ Protect yourself and loveones by:
* Keeping your home and surroundings clean
* Keep rodents out of your home
* Visit the nearest health center if you feel sick
Remember prevention is better than cure!
#LassaFever#NCDCNigeria#OneHealth
A #OneHealth approach to disease prevention recognises that the health of people is closely connected to the health of animals and our shared environment.
By protecting one, we help protect all!
#OneHealthNigeria
This #WorldRabiesDay2023, let's unite for a common cause: protecting the health of humans, animals & the environment!
Embrace the "All for 1, #OneHealth for all" theme and join the fight against rabies.
Raise awareness ✅
Vaccinate your pets✅
Together, we can make a rabies-free world a reality!
Learning from the last pandemic, it is evident that our country needs a robust health security infrastructure with an emphasis on:
➡️Prevention
➡️Disease surveillance
➡️Preparedness and response capabilities.
Nigeria's Pandemic Fund application cuts across strengthening #OneHealth workforce, early warning and surveillance and laboratory systems.
#PandemicFundNigeria
🐄🐕 Happy World Veterinary Day 2026! 🩺🌍
Theme: Veterinarians: Guardians of Food and Health
Veterinarians play an invaluable role in ensuring animal welfare, safe food production, disease prevention, and public health protection.
Proud to be part of a profession serving both animals and society every day. 👏🐾
#WorldVeterinaryDay2026#ProudToBeAVet#OneHealth
https://t.me/vets_hub
Antimicrobial Resistance (AMR) Awareness Week
Did you know the Current Data on AMR ?
📊Statistics on AMR
• Over 700,000 deaths globally each year are linked to drug-resistant infections.
• In some countries, up to 50% of antibiotics prescribed in healthcare settings are unnecessary.
• Agricultural use accounts for nearly 80% of all antibiotics sold in some regions, contributing significantly to resistance.
• By 2030, it is projected that AMR could lead to an economic burden of up to $100 trillion globally.
Let’s take action now to combat AMR for a healthier future! 💪#AMRAwareness#FightAMR#OneHealth
Join us:
Telegram | Instagram | Linkedln
Last Friday, the National One Health Technical Committee (NOHTC) brought together key stakeholders across human, animal, and environmental health to:
✅ Review progress on previous action points
✅ Share updates on ongoing programmes and current outbreaks
✅ Align strategies to strengthen Nigeria’s health security through coordinated, multisectoral action
Together, we’re advancing a resilient, data-driven OneHealth system for prevention, preparedness, and response.
#HealthSecurity#NCDCNigeria#PublicHealth#OneHealth
🎉 Друзья!
Сегодня мы отмечаем День ветеринарного работника — праздник тех, кто посвятил себя заботе о здоровье животных и экосистем! 🐾
Факультет БиоВетМед Института живых систем ДГТУ — гордость нашего университета!
За несколько лет он стал лидером в ветеринарии, достигнув впечатляющих результатов:
Федеральный эксперимент по интернатуре.
- Первый в России pet-friendly подход.
- Мегагрант и 12 грантов РНФ и РФФИ.
- 3 национальные премии «Золотой скальпель».
- 3 докторские и 6 кандидатских диссертаций, включая первую в ДГТУ, защищённую в Голландии.
- 2 стипендии Президента РФ и 3 полугодовые стажировки аспирантов за рубежом.
Но главное — это наша молодая, амбициозная команда специалистов ветеринарии, медицины, биологии и инженерии, которая воплощает междисциплинарные исследования в духе международной инициативы One Health — «Единое здоровье» во благо людей, животных и природы. 🌍
Спасибо всем, кто вносит вклад в развитие ветеринарии!
Желаем новых научных открытий, крепкого здоровья и вдохновения! 🩺
#ДеньВетеринара#ДГТУ#БиоВетМед#OneHealth