Что делать если нужно поставить какую-то 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
💥We've reached 500K+ followers! [@TokenPocket_TP](https://twitter.com/TokenPocket_TP)
💙Thank you for always standing with us and for all the support from [#TPFam](https://twitter.com/hashtag/TPFam)!
💙Enjoy your [#TokenPocket](https://twitter.com/hashtag/TokenPocket) wallet!
👉https://www.tokenpocket.pro/
👉https://extension.tokenpocket.pro/
[#Keepbuilding](https://twitter.com/hashtag/Keepbuilding) [#TokenPocket](https://twitter.com/hashtag/TokenPocket)
【Details】https://twitter.com/TokenPocket_TP/status/1754359919900340255
【Powered By】Crypto Box
Let us focus on what really matters and fundamentals—our ecosystem has leveled up to a new dimension in 2025 Q1. 🚀
- 50 million+ global users, solidifying our position as Web3 social’s leader. 🌍👥
- 5 million+ users on LINE 📱
- 1.2 million+ activated accounts on our OAOG protocol 🌐
- 110,000+ $UXLINK holders—surpassing even USDC. 💰💎
- 400+ partners. Our AI Growth Agent is driving growth for Web3 projects, while FujiPay and FujiCard are set to launch in the first half of this year. 🤝🚀
- Tens of million USD profits: Our business model has achieved PMF (Product-Market-Fit), with rapid growth in revenue & profits. 📊💼
As the largest #Web3 social platform and infrastructure, we will remain transparent in our governance, united in our mission, and focused on social growth and keeping $UXLINK empowered. ✨
This journey is ours to build together. While milestones matter, our vision is the destination—and we’re just getting started. 🚀🤝#UXLINK#Keepbuilding
$BNBet Whitepaper is out now 🔥
We’re building a fully onchain Betting market on BNB, simple, transparent, and for everyone.
Would love your feedback 👇
Read it here: https://bnbet.gitbook.io/whitepaper
#BNBChain#BNBet#KeepBuilding
🫡The highly - anticipated 2nd round #UXLINK eco - airdrop is approaching! As a token of gratitude to our dedicated $UXLINK stakers, we are thrilled to announce that we will be distributing 9 listed tokens, namely: $SOLV, $SONIC, $DUCK, $MOZ, $DYOR, $XOXO, $N3, $OBT, and $PINGO. This #airdrop is made possible through the invaluable support of our UXLINK ecosystem partners and @UFLY_Labs. Let's join hands and build UXLINK One Chain together, continuously enhancing the value of $UXLINK! 🚀
For tokens on the Arbitrum network, they will be directly airdropped to the eligible wallet addresses. As for tokens on other blockchains, we will open a claim portal this week for eligible $UXLINK stakers to claim their rewards. Detail rules will be shared later, please stay tuned.
UXLINK is bringing high - quality and highly - engaged social user growth to #Web3 projects through the UXLINK Social Growth Layer.
#KEEPbuilding✊
Tough times? #UXLINK is crushing it—delivering STRONG GROWTH and SOLID PROFITS in Q1 2025! 💪 Our ecosystem’s unstoppable: user base booming, profits soaring, all while keeping the community front and center.
Our ecosystem is ALL about GROWTH—serving both end users with seamless adoption & business-end projects with killer infra, tools, and traffic. As long as the industry booms, the hunger for growth STAYS!
We’re already making 10+ millions net profit, and expect to achieve 20-30 millions in 2025 - growing strong, reinvesting hard, and riding a positive loop! 💰
With #PayFi , next-level AI tools, and more in the works, profits are about to SKYROCKET! 🚀 We’re relentless—pushing R&D and innovation to be THE go-to for industry growth!
#Web3#KeepBuilding
🎉 300K+ NEW USERS IN JUST DAYS! 🚀
Thanks to the TikTok fam 🎵—your energy diving into #Web3 is BLOWING OUR MINDS! 🔥
300,000+ creators & users already chose #UXLINK as their Web3 gateway 🌐… and we’re just getting started! 🌟
Our mission? To build the ULTIMATE community bridge—where social growth meets decentralized magic. 🤝💫
Now the question is: WHEN WILL WE HIT 1M? 🤔⏰
Tag a friend who needs to join the revolution 👇 Let’s make Web3 mainstream TOGETHER! 🌍✨
https://ai.happyfair.io/tiktokTask
#keepbuilding#CommunityPower#UXLINK
UXLINK AI Growth Agent is live!🔥 The First ever AI Agent for Users Growth in the #Web3 world, another big step for Social Growth Layer!
What is UXLINK AI Growth Agent:
✅The First AI Agent for Users Growth: powered by
@deepseek_ai V3
✅Cost Reduction and efficiency: Automated repetitive tasks & unleash team's creativity and time
✅Growth Loop: Build a sustainable social media ecosystem, from operations to incentives
Only need 3 steps to build an intelligent operation system:
1⃣Simple setup, Fast Deployment
2⃣ AI-Driven Automation
3⃣From Operations to Growth: AI Builds a Growth Flywheel
We will offer 30 days free trial period for #UXLINK ecosystem partners to appreciate their support of empowering $UXLINK🚀#AI#DeepSeek#KeepBuilding
🚀 BREAKING: $UXLINK hits 1.285M HOLDERS on-chain! 🌐
That’s more than USDC on
@arbitrum
– a testament to community strength!
💎 Why this matters:
✅ Largest decentralized community
✅ UXLINK ecosystem growing 30% MoM
✅ Keep empowering $UXLINK
🙏 Thank you, global holders!
We’re doubling down on innovation – stay tuned for the next chapter.
#Web3#CommunityFirst#UXLINK#KeepBuilding
💥 UXLINK OAOG PROTOCOL HITS A MILESTONE!
Over 1,160,000 accounts activated & 12,000,000 $UXLINK deposited as universal gas! 🌐✨
🔧 What’s OAOG?
Part of #UXLINKOneChain, it’s your KEY to seamless #Web3 access:
🔗 Chain + Account Abstraction = 1 social account + 1 Gas fee for ALL blockchains
✅ No more switching wallets or worrying about different gas token!
🎮 Do it all: Airdrops, DeFi, DEX trades—effortlessly.
🌍 The Future of Web3 is Here
Just like Web2 social logins, tens of millions will use OAOG to explore Web3 without barriers. 🌐→💫
We’re building the SUPERGATEWAY to decentralized life—where one account connects it all.🔥
#uxlink#community#KeepBuilding
🚀#UXLINK AI Growth Agent IS NOW LIVE ON #TIKTOK! 📈
Meet the ultimate tool for TikTok creators: boost your account growth smarter, faster—and turn followers into web3 pioneers, all in one flow. 🌐✨
As the leading social infrastructure for web3, we’re building the bridge where social success meets decentralized innovation. Why? Because we know: social is the gateway to onboarding millions into #Web3.
Ready to level up your TikTok game and shape the future of digital connection? 👇 Dive into the beta today and be part of the movement that’s merging social growth with web3 magic.
https://ai.happyfair.io/tiktokTask
Let’s turn followers into believers. 🌍💫
#TikToker#KeepBuilding#UXLINK