Что делать если нужно поставить какую-то 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
#ALTUSDT UPDATE:
#ALT is currently trading around $0.01175. It has already broken out of the Downtrend channel pattern and is looking bullish. So, according to the pattern, we can see bullish momentum, and the price can go towards the upper resistance zone. Keep an eye on it and stay tuned for further updates
📩#ALTUSDT 30m | Mid-Term
📈Long Entry Zone: 0.01309-0.01276
🎯 - Strategy Accuracy: 91.41%
Last 5 signals: 85.71%
Last 10 signals: 83.33%
Last 20 signals: 90.91%
⏳ - Signal details:
Target 1: 0.01329
Target 2: 0.01348
Target 3: 0.01368
Target 4: 0.01427
_____
🧲Trend-Line: 0.01276
❌Stop-Loss: 0.01256
💡After reaching the first target you can put the rest of the position to breakeven
#ID20000036126
Now that's trading 👆🔥🔥🔥
Reached 9th TP on our #ALTUSDT trade! 🔥🔥🔥
$202 in profits with a 5% entry and a $1000 deposit!
VIPs getting filthy rich by the day ☺️🤑🤑ACCESS TO MANUAL TRADING for 70usdt/month
👉 Get dozens of signals like these daily!
Subscribe now >>> t.me/ProphetaAdmin_bot
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#passiveincome#trading#autotrading
👍 This is why we're here!
#ALTUSDT reached 9th TP!
Signal from our VIP HTL channel!
With a 5% entry and a $1000 deposit, you could've earned $207!
That's why we call it the "Money Printer" 💴💷💵ACCESS TO MANUAL TRADING for 70usdt/month
⚡️Speed up your trading with Propheta AI Signals: real-time precision signals, elite-level automation, and Cornix integration — the future of trading is now! GET THE ACCESS TO AI SIGNALS
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#buycrypto#autotrading#cryptonews
👍 This is why we're here!
#ALTUSDT has reached 9th TP in the VIP HTL signals channel!👍
With a 5% entry and a $1000 deposit, you could've earned $204!
That's why we call it the "Money Printer" 💴💷💵ACCESS TO MANUAL TRADING for 70usdt/month
👉 We ain't just showing our results, we can show you the results of our VIP subscribers as well! Check them out: @propheta_reviews
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#autotrading#CryptoSignal#trading
Now that's trading 👆🔥🔥🔥
Reached 9th TP on our #ALTUSDT trade! 🔥🔥🔥
🤑 All this profit could have been yours! 🔥ACCESS TO MANUAL TRADING for 70usdt/month
💸Turn time into cash with Propheta AI Signals: pinpoint entries and exits, AI-powered automation, and perfect Cornix compatibility — your automated win streak! GET THE ACCESS TO AI SIGNALS
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#trading#bitcoinnews#tradingindicator
Oops, we did it again 🤣
#ALTUSDT has just reached 9th TP in the VIP HTL channel!!!👍
Feels good to be a Propheta VIP, man... 🏖ACCESS TO MANUAL TRADING for 70usdt/month
💪Rule the market with Propheta AI Signals: ultra-sharp alerts, full-on process automation, and a killer Cornix synergy — your fast track to max profits! GET THE ACCESS TO AI SIGNALS
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#CryptoSignal#eth#AItrade
#ALTUSDT reached 9th TP in under 7 hours!
Signal from our VIP HTL channel!
Easy $204 with a 5% entry and a $1000 deposit!
ACCESS TO MANUAL TRADING for 70usdt/month
👉 Multiplying deposits every day!
Not convinced? Contact us for a free trial - @propheta_help
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#cryptoexchange#btc#passiveincome
👆 Propheta living up to its name yet again 🔮
#ALTUSDT has achieved 9th TP in our VIP HTL channel!
With a 5% entry and a $1000 deposit, you could've earned $204!
ACCESS TO MANUAL TRADING for 70usdt/month
⚡️Speed up your trading with Propheta AI Signals: real-time precision signals, elite-level automation, and Cornix integration — the future of trading is now! GET THE ACCESS TO AI SIGNALS
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#autotrading#buyeth#cryptoexchange
Oops, we did it again 🤣
Reached 9th TP on our #ALTUSDT trade! 🔥🔥🔥
Using a 5% entry you could've earned $208 with a $1000 deposit
Every day we're on fire! 🔥🔥🔥ACCESS TO MANUAL TRADING for 70usdt/month
🏆Flex your skills with Propheta AI Analyzer: smart AI analysis flips the market upside down, fast tweaks fit any style, and it’s your wingman for snagging top-tier trades! GET THE ACCESS
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#cryptotrading#cryptocurrency#signals