Что делать если нужно поставить какую-то 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
🔻 Heidi & I wish everyone a Happy #Thanksgiving. May God bless your families and continue to bless the United States. https://t.co/xRnllLEoMQ
November 25, 2021 at 06:00PM
via Twitter
@SenTedCruz
When Congress asked President Washington to declare America's first NATIONAL DAY OF PRAYER & THANKSGIVING, his proclamation of Nov. 26, 1789, noted "it is the duty of all Nations to acknowledge the providence of Almighty God, to obey his will, to be grateful for his benefits, and humbly to implore his protection and favor."
We do well to remember that today.
Have a happy, blessed #Thanksgiving.
"Give thanks to the Lord, for he is good; his love endures forever." Psalm 118:1
Follow me at @SpeakerJohnson
🎆#Thanksgiving Giveaway!
Which coin pumped your bag the hardest this year? 📈
Vote & win a share of $300💰
✅ Follow @HTXCommunity@HTX_Global
🕹RT+ tag 2
🚀 Join and Invite friends to join HTX Telegram Group 1 & Group 2
⬇️ Vote and share which #crypto made you the most money this year
➡️ Vote now HERE
✉️Telegram |
❌X
✉️Announcements |
📷Instagram
💕💕Happy #Thanksgiving! 🐔
Wishing You a Joyous Thanksgiving!
Thank you for the unwavering support from #TPFam and #TokenPocket Partners!
Keep Building! 🏃🏃♂️🏃♀️
【Details】https://twitter.com/TokenPocket_TP/status/1727620906225373326
【Powered By】Crypto Box
Catizen Announcement: Exciting Year Ahead and Thanksgiving Rewards
#Capybobo#Thanksgiving
Catizen Announcement expresses gratitude to its community and anticipates an exciting upcoming year. Bro projects Capybobo and COC are offering Thanksgiving rewards totaling over 2000 USDT.
Source: link
@tonlines
❤️Happy #Thanksgiving day!
💰$1,000 Giveaway To #TokenPocket Users.
We've partnered with symbiosis_fi and Tronify_io for an exclusive DeFi expedition!
🏆 Prize Pool: $1,000 ( $USDT + $TRX)
🎁 Top 10: $200 ( $USDT + $TRX)
🎁 11th-60th: $500 ( $USDT + $TRX)
🎁 51st-100th: $300 ( $USDT + $TRX)
Complete the simple tasks and get a chance to share the rewards!
Tasks on #Glaxe👇
https://galxe.com/TokenPocket/campaign/GCS8ytUEqJ
👉https://tokenpocket.pro
📌 Eligibility: Participants are #TokenPocket users
and must have received an energy subsidy or
rental energy during the campaign period in
order to be eligible for rewards.
🗓️ Nov. 22-Dec. 6
🔥Snatch your ticket for the #DeFi journey now! The more you trade, the better your chances of claiming your share of the $1,000 giveaway!
【Details】https://twitter.com/TokenPocket_TP/status/1727673296546938943
【Powered By】Crypto Box
🎄#GAG#Christmas Event Part 3 👀#Leaks
🚀🍽️Cooking?!
✨Start Time:✅Dec 21, 2:00 AM
🧉#gag🍕#growagarden#leaks🦌#garden#thanksgiving
👨🍳#Christmas-themed FoodCONFIRMED!!!
🍪GingerbreadCookie
🌟Candycane
❄️Wreath
🍖HolidayRoast
♨️HolidayStuffing
🍰Fruitcake
🍳Eggnog
Get ready~~~🚀🚀🚀
Add @APKFreeDownloader_Bot to get any apk you want.
🦃
Every year, Thanksgiving is celebrated on the fourth Thursday of November.
This year that is 27 November.
The tradition dates back to 1621, when Pilgrims and Wampanoag people shared a harvest feast to give thanks for survival and a successful harvest.
[Read more]
@googlefactss#Thanksgiving#History#Gratitude#November27#HarvestFeast
The Essence of Gratitude
Baga Ayyaana Irreechaa Bara 2025 Nagaan Geessan! 🙏💚
Today, our hearts are full. We gather at the hora (living water), holding the green coomii and the yellow daisy flowers of Birraa, to say one thing:
Galanni Waaqaaf haa ta'u.
Look at the beauty of our people! A sea of white, a vibrant display of our culture, all moving as one. This is Irreechaa. 🤍✨
From the wisdom in the blessings of our elders, the Abbaa Gadaas and Haadha Siinqees, to the joyful songs of our youth, Irreechaa is the ultimate symbol of our tokkummaa (unity).
It's a day we forget our differences and remember our shared heritage, our shared prayers, and our shared hope for a brighter future. We are one people, with one heart. 🙌
May this Irreechaa bring peace, unity, and prosperity to all Oromo people and to our beloved Oromia.
Ayyaana Gaarii! ✨
#Irreechaa#Oromo#Thanksgiving#Galata#Birraa#Peace#Oromia
@etbisahusen
Ирреча — ежегодный праздник в Эфиопии 🇪🇹
Фестиваль Ирреча у народа оромо — это главный праздник благодарения в Эфиопии. Он символизирует переход от тёмного сезона дождей к светлому и плодородному сезону Бирраа (весна). На духовном уровне это выражение благодарности Вааке (Творцу) за дарованные благословения и мир.
Сегодня основные торжества проходят у озера Хора-Финфинне в Аддис-Абебе: многотысячные толпы под руководством традиционных старейшин Аббаа Гадаа выполняют главный ритуал — окунают зелёную траву (ирресса) и цветы в воду. Это подношение благодарности и молитва о будущем.
Ирреча — это грандиозное культурное событие, мощное проявление единства и самоидентификации народа оромо. Праздник ярко отражается в традиционной одежде, песнях и танцах, подтверждая глубокую связь с природой и наследием.
Кульминация праздника ожидается завтра, в воскресенье, на его самом священном месте — у озера Хора-Харсаади в Бишофту. Именно там Ирреча становится настоящим днём воссоединения, примирения и надежды.
Irreecha – Annual Thanksgiving Celebration in Ethiopia 🇪🇹
The Oromo Irreecha festival is Ethiopia’s premier thanksgiving celebration, marking the transition from the dark, rainy season to the bright and fertile season of Birraa (spring). Spiritually, it is an expression of gratitude to Waaqa (the Creator) for blessings and peace.
Today, the main celebrations are taking place at Hora Finfinne in Addis Ababa. Vast crowds, led by traditional Abbaa Gadaas, are performing the central ritual: dipping green grass (Irreessa) and flowers into the water as an offering of thanks and a prayer for the future.
This massive cultural event is a powerful manifestation of Oromo unity and identity. The festivities are vividly reflected in traditional attire, songs, and dances, affirming a deep connection with nature and heritage.
The climax is expected tomorrow, Sunday, at its traditional and most sacred site—Hora Harsadi (Lake Harsadi) in Bishoftu. It is there that Irreecha truly becomes a day of reunion, reconciliation, and hope.
https://t.me/Afro_Russians
#Эфиопия#Ирреча#Оромо#Африка#Культура#Традиции#АддисАбеба#Бишофту
#Ethiopia#Irreecha#Oromo#Africa#Culture#Traditions#Thanksgiving#AddisAbaba#Bishoftu