Что делать если нужно поставить какую-то 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
3 hours ago, James Fickel (@jamesfickel) swapped another 350 $WBTC for 6,905 $ETH ($24.4M) at ~$3,534 as the $ETH price soared 20% (24H)!
Note that since Dec 30, 2023, the founder of Amaranth Foundation has been bullish on the ETH/BTC trading pair, borrowing and exchanging 2,741 $WBTC for 50,688 $ETH at an ETH/BTC ratio cost of 0.054.
Follow @spotonchain and visit James Fickel’s address at https://platform.spotonchain.ai/en/profile?address=0xd85351181b3f264ee0fdfa94518464d7c3defada
#EthereumETF#Approval
🎧⤴
Ethereum ETF Set to Ignite Prices – Could ETH Hit $4,500?
Monochrome Asset Management has filed to launch an Ethereum ETF in Australia under the ticker "IETH." If approved, the ETF will offer a regulated way for retail investors to buy into Ethereum, marking a crucial expansion of crypto products in Australia. Analysts predict this could push ETH prices towards $4,500, especially if Bitcoin continues its upward momentum.
Verse 1:
ETF drop, watch the markets shake,
IETH comin’, time to raise the stake,
Aussie brokers lined up, ready to go,
Regulated crypto, yeah, it’s the show.
Chorus:
Will ETH hit that 4-5-0-0?
Markets movin’ fast, now they wanna know,
Monochrome pushin’ for the big rise,
Crypto to the moon, no surprise.
Verse 2:
Bitcoin’s on fire, aim for that 100K,
Ether right behind, it’s a bull run day,
Dual-access cash flow, simple as can be,
Australian retail gonna stack that ETH, see?
Chorus:
Will ETH hit that 4-5-0-0?
Markets movin’ fast, now they wanna know,
Monochrome pushin’ for the big rise,
Crypto to the moon, no surprise.
Bridge:
Hold tight, watch that price climb high,
Regulated ETF, no more askin’ why,
Cash or in-kind, take your pick,
Ethereum’s future, man, it’s lookin’ slick.
Verse 3:
From Bitcoin to ETH, it’s all on track,
Regulators here, no more lookin’ back,
Australia leads, yeah, they’re paving the way,
Crypto in the mainstream, here to stay.
Chorus:
Will ETH hit that 4-5-0-0?
Markets movin’ fast, now they wanna know,
Monochrome pushin’ for the big rise,
Crypto to the moon, no surprise.
#EthereumETF
#CryptoInvestment
#TONCryptoNewsRapStyle
🎧@toncoin_rap
🌐Breaking News: Investment bank TD Cowen predicts a delay in the U.S. SEC approval for an #Ethereum spot ETF.
Analysts suggest the SEC might be cautious, observing outcomes from #Bitcoin ETFs first, before greenlighting #Ethereum or other crypto ETFs.
#CryptoNews#ETFApproval#SEC#EthereumETF
-
Crypto GALAXY
Crypto Funds Struggle Compared to Bitcoin
OKX's founder Star claims no crypto fund has outperformed Bitcoin over the last decade, predicting a 100x growth for the industry. He acknowledged feedback on OKB's lack of use cases and poor listings. A new secret business line for OKX is set to launch in February.
In other news, Ethereum spot ETFs saw a net outflow of $39.432 million, while Bitcoin ETFs faced a larger outflow of $284 million. Notably, BlackRock's ETHA and IBIT ETFs saw significant inflows.
Read more about OKX's updates here, Ethereum's ETF activity here, and Bitcoin's ETF activity here.
#OKX#Bitcoin#Ethereum#Crypto#ETFs#BlackRock#OKB#NFTs#Web3#DeFi#Soneium#S.BLOX #Blockchain#Investing#Finance#BitcoinETF#EthereumETF#VC#AI
🚀 Morgan Stanley Explores Tokenized Money-Market Fund After Bitcoin ETF Launch
Morgan Stanley, managing $9.3 trillion in client assets, is considering launching a tokenized money-market fund following its recent introduction of a spot Bitcoin ETF. According to NS3.AI, Amy Oldenburg from Morgan Stanley highlighted the bank's interest in tax-loss harvesting for digital assets through its subsidiary, Parametric. Data from Farside Investors indicates that the new Bitcoin ETF has attracted approximately $46 million in net inflows since its launch on Wednesday. Additionally, Morgan Stanley submitted applications in January for ETFs linked to Ethereum and Solana.
#MorganStanley#TokenizedMoneyMarketFund#BitcoinETF#DigitalAssets#TaxLossHarvesting#EthereumETF#SolanaETF#Parametric#NS3AI#FarsideInvestors#CryptoInvesting#BTC#ETH#SOL