Что делать если нужно поставить какую-то 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
📣📣The $BYIN tokens refunded from TonUP and Poolz have been repurchased by BYIN. These repurchased tokens, along with future market buybacks by BYIN, will be distributed to users as task rewards in the BYIN Bot Task Center. Additionally, we'll soon enable an on-chain withdrawal feature, allowing users to easily withdraw and deposit tokens for trading.
💎The #BYIN Task Center is now back online as a mini advertising platform. To list tasks, BYIN partners need purchase and pay $BYIN tokens, and users can earn $BYIN rewards by completing these tasks.
Dear BYINLords,
📣📣 All the undistributed $BYIN tokens, about 45.5% of total supply, have been burned!
As part of the plan to boost confidence in #BYIN and ensure its long-term value announced hours ago today, all the Undistributed $BYIN Tokens (454999999899800000000 BYIN), about 45.5% of total supply, have been burned.
💪🐸Stay tuned and thank you for your continued support!
🚀🚀🚀$BYIN Trading is Live on Gate Now! http://gate.io/trade/BYIN_USDT
🥳Since the BYIN Launchpad Beta went live yesterday, over 800 meme coins have already been created in BYIN Launchpad within just one day!
💪🐸BYIN team is continuously optimizing the product. We'll soon launch a web version, allowing users to create and trade memes not only on Telegram but also on the BYIN website.
🤠 Create your Meme on #BYIN Launchpad Beta. Next $DOGS will be launched by you! 🚀🚀
😎 Have fun and Enjoy your BYIN journey!
🤠 Create your Meme on #BYIN Launchpad Beta. Next $DOGS will be launched by you! 🚀🚀🚀
👉https://t.me/BYIN_official_bot
🤔 How to Create/ Trade Memecoins on BYIN?
Guidance: https://docs.byin.fun/byin-memecoin-launchpad/how-to-create-trade-memecoins-on-byin
Key Features of BYIN Launchpad Beta:
✅ Fair launch model
✅ Effortless Token Creation
✅ On-Platform Fundraising
✅ Optimized Bonding Curve Pricing
✅ Seamless DEX Integration
✅ Telegram-Based tools
❤️ The BYIN Launchpad Beta is still being tested, and your feedback is crucial! We appreciate your submission of bugs or suggestions for improvements. (Please provide your feedback at https://t.me/byinfun/339841)
😎📈 Have fun and Enjoy your BYIN journey!
💪🐸 LFG! #BYIN to da moon🌛✨
📣📣 Prepare to unlock and claim your $BYIN:
In the TGE month, you can unlock up to 35% of your $BYIN balance only by completing the following steps:
1⃣️ Stake $BYIN: Stake over 10,000 $BYIN Now to unlock 5% at TGE.
2⃣️ Complete Unlocking Event Tasks: Complete 2 or more unlock tasks to unlock an additional 30%.
(unlock tasks of Unlocking Event are online now in Task Center of BYIN mini app)
⏰Please connect your TON wallet to the BYIN bot before 12:00 PM UTC Sep 5th. Your $BYIN balance and TON wallet address will be snapshotted then. If you miss the wallet connection before the snapshot, no worries - your Telegram user ID and $BYIN balance will also be scanned before TGE. You can check the scan results and the amount of unlocked $BYIN tokens in BYIN bot starting from 15:00 UTC Sep 5th.
❤️❤️ How to Deposit $BYIN to Gate:
1️⃣ Claim & Deposit: If your wallet is connected before the snapshot, pls claim your unlocked $BYIN to your connected wallet after the snapshot, and deposit $BYIN to http://Gate.io.
2️⃣ Direct Deposit: If you miss wallet connection before the snapshot, you can still deposit your unlocked $BYIN directly from your BYIN account to http://Gate.io, following the instruction https://bit.ly/3ZbEs8M
💎💎 BYIN Launchpad Beta and Test Run $FREE🚀:
The BYIN Launchpad Beta is live now! The Launchpad Test Run, meme coin $FREE, will kick off at 8:30 am UTC Sep 5th!
(How to Create/ Trade Memecoins on BYIN? Pls check https://bit.ly/3XzEDK8)
BYIN charges only a 1% fee on all buy and sell transactions. Each month, #BYIN will buy back some meme tokens launched on the platform to maintain a healthy ecosystem in BYIN.
The BYIN Launchpad Beta is still being tested, and your feedback is crucial! We appreciate your submission of bugs or suggestions for improvements. (Please provide your feedback at https://t.me/byinfun/339841)
💎BYIN will collaborate with a renowned automated trading bot provider to enhance trading and deliver a better experience. Stay tuned!
💪🐸 LFG! $BYIN to da moon🌛✨
🚀🚀🚀 $BYIN IDO is LIVE Now!
$BYIN IDO, on three launchpads, TonUP, Poolz Finance and GoWrap! 😎 Don't miss out!
🔗 IDO Webpage:
👉TonUP:
http://tonup.io/project/BYIN
👉Poolz:
https://poolz.finance/project-details/about/251
👉GoWrap:
https://gowrap.xyz/launchpad/Byin
💎#BYIN, the Ultimate One-Click Meme Launchpad on TON, with Largest User Base. https://t.me/BYIN_official_bot
💰 $BYIN isn’t just a meme coin; it’s also the platform token powering the BYIN memecoin launchpad. As a $BYIN holder, you’ll enjoy exclusive benefits as the platform thrives and grows. Grab your $BYIN and join the memecoin revolution!
💪🐸LFG! $BYIN to da moon 🌛✨
⏰ $BYIN IDO Counting Down: 24 hours!
🚀🚀🚀 $BYIN IDO will go live on three launchpads, TonUP , Poolz Finance and GoWrap at 10:00 am UTC Aug. 26th.
🔗 IDO Details:
👉TonUP: http://tonup.io/project/BYIN
👉Poolz Finance: https://poolz.finance/project-details/about/251
👉GoWrap: https://gowrap.xyz/launchpad/Byin
💕Explore more details: pls visit the official twitter of TonUP (https://x.com/TonUP_io) , Poolz Finance (https://x.com/Poolz__) and GoWrap (https://x.com/GoWrap_xyz)
😎 Grab your chance to earn more $BYIN before the IDO! Invite more buddies, complete tasks and stake Now! Don't miss out!
💪🐸LFG! #BYIN to da moon 🌛✨
📣BYIN x OKX Wallet - Web3 Giveaway📣
🚀Another OKX Wallet campaign is here! Check in #BYIN bot and get $BYIN rewards.
🎁Reward:
20K $BYIN for OKX Wallet check-in
36K+ $BYIN for each participant
🖥 How to participate:
👉 Visit OKX Web3 Giveaway page https://okx.com/web3/giveaway?chain=ton…
👉 Complete the OKX Wallet tasks in BYIN bot https://t.me/BYIN_official_bot/BYIN?startapp=EeY8VXwl…
📅 Duration: Aug 23rd - Sept 12th
💎 BYIN, the ultimate One-Click meme Launchpad and your gateway to effortlessly creating and trading memecoins on TON, with the Largest User Base.
🚀🚀🚀 $BYIN IDO will go live on three launchpads, TonUP, Poolz Finance and GoWrap on Aug. 26th. Stay tuned! The listing of $BYIN is also on the way, expected within two weeks!
🔗 IDO announcement:
👉TonUP: https://x.com/TonUP_io/status/1825558366082732165
👉Poolz: https://x.com/Poolz__/status/1826296683099017679
👉GoWrap: https://x.com/GoWrap_xyz/status/1826512687658139957
😎 Grab your chance to earn more $BYIN before the IDO! Invite more buddies, complete tasks and stake Now! Don't miss out!
💪🐸LFG! #BYIN to da moon 🌛✨
GM ☕️🐸
🔥 Task center of BYIN bot is Live Now!
💰 Complete Tasks to Earn more!
👉https://t.me/BYIN_official_bot
💗 Triple Referral Rewards event is still ongoing.
Grab your chance to Invite friends and Stake more $BYIN to get more Rewards.
LFG! #BYIN to da moon🌛✨
GM 🐸☕️
🥳 To celebrate the 11th Birthday of Telegram 🎂
🎁 600,000 $BYIN for 20 winners (30,000 $BYIN each)
⏰ 24 hrs
How to Participate?
👉Follow the guidance at https://bit.ly/4crhpty
If you've participated in [2,500,000 $BYIN Giveaway Campaign], you'll find this is right for you.😉
❤️ $BYIN, for all Telegram users!
💪 LFG! #BYIN to da moon🌛✨
GM 🐸☕️
🎁 2,500,000 $BYIN Giveaway Campaign and Triple Referral Rewards event are still ongoing! Grab your chance to win big💰💰💰
👉2,500,000 $BYIN Giveaway Campaign: https://bit.ly/4dfExwD
👉Triple Referral Rewards event: https://t.me/BYINchan/48
💕 Tips to earn more in $BYIN Staking 💰
https://t.me/BYINchan/53
💕 Details about $BYIN staking: https://t.me/BYINchan/49
💪LFG! #BYIN to da moon🌛✨