Что делать если нужно поставить какую-то 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
#ZCASH/USDT analysis :
#Zcash is currently in an uptrend, consistently making new highs while trading above the 200 EMA. The price is now retracing towards the 200 EMA and a key support level. It is anticipated that the price will test this zone and rebound, allowing the bullish momentum to continue and potentially leading to a retest of previous highs.
TF : 1D
Entry : $49.5
Target : $79
SL : $39.9
#ZEC getting ready for bullish breakout very soon! Strong flip off from the trendline resistance might trigger massive rally, ZEC appears promising; quantum-resistant blockchains are projected to perform more effectively when market conditions improve.
$ZEC #ZECUSDT#ZCASH
https://x.com/CryptoBull_360/status/2040431968773652859?s=20
🚀 Zcash and Dash Surge Amid Bitcoin and Ethereum Gains Following U.S.-Iran Ceasefire
Zcash and Dash have experienced significant price increases over the past week, with Zcash rising by 49% and Dash by nearly 53%, surpassing the gains of Bitcoin and Ethereum, which saw increases of 8% and 9% respectively. According to NS3.AI, the upward trend in Bitcoin and Ethereum followed the announcement by U.S. President Donald Trump of a ceasefire with Iran. CoinGecko data indicates that Zcash was trading at $371, Dash near $46, while Monero also saw a 7% increase during the same period.
#Zcash#Dash#Bitcoin#Ethereum#Cryptocurrency#Ceasefire#USIran#PriceSurge#Monero#CryptoMarket#BTC#DASH#ZEC
🚀 Zcash's Potential Surge: Traders Predict 60% Chance of Reaching $420
Zcash (ZEC) has experienced a significant rise, with traders on Myriad now predicting a 60% probability of the token reaching $420 this month. According to NS3.AI, Zcash saw an increase of over 62% in the past week, with its price recently hovering around $380. The odds on Myriad shifted dramatically from 80% against the move on Thursday to 60% in favor by Friday.
#Zcash#ZEC#Cryptocurrency#CryptoTrading#PricePrediction#Myriad#NS3AI#CryptoSurge#Blockchain#DigitalAssets
🚀 Monero and Zcash Expected to Launch on Mainnet Soon
Monero (XMR) is anticipated to go live on the mainnet within one to two months, according to Foresight News. The chain client pull request has successfully passed simulation testing. To address privacy observation issues with XMR, THORChain plans to create a dedicated Asgard vault composed of all validator nodes.
In parallel, Bittensor (TAO) is being developed alongside Monero, aiming for a simultaneous launch. Additionally, Zcash (ZEC) is expected to launch on the mainnet by the end of April.
#Monero#XMR#Zcash#ZEC#Mainnet#Blockchain#Cryptocurrency#THORChain#Bittensor#PrivacyCoins#TAO
🚀 Zcash Open Development Lab Unveils Strategic Direction Focused on Post-Quantum Security
On April 13, Zcash Open Development Lab (ZODL) founder Josh Swihart announced the latest developments for Zcash, emphasizing a strategic direction centered on post-quantum security, scalability, and user experience. According to BlockBeats, Swihart likened the initiative to the Artemis II lunar mission, highlighting the pursuit of seemingly impossible goals through technological breakthroughs. The ZODL team revealed that Zcash is entering the 'Zcash IV' phase, aiming to build infrastructure akin to a 'lunar base' to support the protocol and applications' secure expansion to billions of users, while advancing the vision of privacy transactions without large-scale financial surveillance.
On the product and technology front, ZODL continues to iterate, with its 3.3.x version now available on iOS and Android, featuring new hardware wallet connection management, SDK upgrades, and multiple user experience enhancements. Key developments include advancing Keystone wallet functionality and upgrading the address system (ZIP 316, UIVK/UFVK). Meanwhile, the Zcash core team has addressed several system issues and is progressing with the Zallet alpha version development, strengthening unified address standards and wallet interaction experience to lay the foundation for future scalability and performance improvements.
Additionally, ZODL disclosed ongoing growth in application data and participation in a stablecoin privacy summit to enhance industry collaboration. However, due to increased regulatory and network restrictions, ZODL has temporarily removed its app from Russian app stores. The team emphasized that privacy is not optional but a fundamental need in the digital age, and they will continue to accelerate delivery pace to promote ZEC adoption and ecosystem development.
The core of Zcash Open Development Lab is to develop an open, self-custodial private financial platform, aiming to expand ecosystem interoperability through collaboration and bring protected ZEC transactions to the global mainstream market.
#Zcash#ZODL#PostQuantumSecurity#Cryptocurrency#Privacy#Blockchain#Scalability#UserExperience#KeystoneWallet#Zallet#Stablecoin#FinancialPrivacy#EcosystemDevelopment#DigitalPrivacy#OpenDevelopment#ZEC