Что делать если нужно поставить какую-то 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
DarkFi is an L1 for anonymous engineering
The emerging art of building privacy-first applications. DarkFi offers an anti-fragile environment to explore, create and run anonymous apps.
DarkFi's smart contract architecture includes a simple ZK assembly language, zkVM and a WASM runtime. The DarkFi testnet comes packaged with demo applications built with this tooling: transfers, swaps and DAOs, all completely anonymous.
DarkFi Manifesto : Internet technology is centred around extracting profit from users for low value work (clicking ads). This leads to huge data harvesting operations and the construction of a surveillance mega-machine. This encourages docility and consumption rather than active individuated usership. It is an architecture of oppression structured on user control..
DarkFi – https://dark.fi/
Dyne.org :: DarkFi :: Free and open-source anonymous P2P ecosystem – https://dyne.org/software/darkfi/
#P2P
¿Cuáles son las ventajas de la membresía GOLD 👑 de 🔤🔤🔤🔤?
1️⃣ Acceso a las operaciones 👥👥 de forma instantánea. (El resto de los usuario las ve con 2 minutos de retraso)
2️⃣ Posiblidad de publicar hasta 12 ofertas P2P de forma simultánea.
3️⃣0% de comisiones cuando recibes el balance en USD de una oferta #P2P completada.
4️⃣ Retiro instantáneo de su balance en USDT 💲 o TRX 💲
5️⃣ Rebajas y bonificaciones adicionales en la compra de servicios, en el caso de la creacion de la tarjeta 💳, es solo $1
(Pronto mejoras en el fee de recarga)
6️⃣ Muestra una "palomita" dorada junto a su nombre. 😀
Con un costo de $4.99 al mes o 250⭐️ disponible con el comando /gold en nuestro bot.
¿Qué más te gustaría que agregáramos a dicho plan? 👀
⚡️xRocket News: Safeguarding Your P2P Trades
#P2P#cryptocurrency
xRocket News discusses essential tips to prevent bank card blocks during P2P transactions, including avoiding third-party transfers and adhering to transaction limits. The channel also highlights xRocket’s protection mechanisms like escrow and trust level ratings to ensure secure cryptocurrency trading.
Source: link
@tonlines
Eppie — open protocol encrypted p2p email
=> https://eppie.io
=> https://github.com/Eppie-io
Eppie is a next-gen providerless email that allows its users to own their accounts, addresses and data. In addition to its own p2p network Eppie can communicate with other popular decentralized networks, like Ethereum, and is capable of interacting with conventional IMAP/SMTP email. It is beautiful and easy to use, just like a normal email client.
Features:
🌎 Works on all platforms: Windows, MacOS, Linux, iOS, Android
🕶 Privacy-first: there's no such thing as optional encryption
🚀 P2P messaging: without servers nobody's holding your hand anymore
🔑 Identity manager: key management is a breeze
💾 Decentralized backup: your data is safe and only yours
🤙 Ultimate interoperability: Eppie can communicate with Ethereum, Bitcoin and more
📬 IMAP/SMTP compatible: connect to Gmail, Microsoft Outlook etc.
🦄 Proton Mail Authentication: Eppie is the first native desktop client capable of that
🔐 PGP encryption: stay safe even with conventional email
🤖 Local AI agents
NOTE: the project is early in development, not all of the features are publicly availabe
via @dcntr
#email#p2p
✅ Aquí les dejo los requerimientos para poder ser comerciante p2p en BingX y comprar/vender USDT usando sus monedas locales sin comisiones y de una forma segura
👉Guía P2P BingX
#p2p#bingx
📰 Novedades de agosto en 🔤🔤🔤🔤💜
Estamos encantados de presentarles las novedades de este mes que iremos lanzando paulatinamente, se vienen muchas sorpresas. 🙂
Anunciaremos las mismas en varias publicaciones, activa la campanita. 🔔
1. Mejoras en el Bot de QvaPay @qvapaysupport_bot:
Ahora puedes ver las ofertas de un peer en específico 🍸, ya disponible como un botón adicional en el canal de ofertas (@qvapay_p2p) y además de forma manual mediante el comando:
/p2p_index peer=nombre_de_usuario
Esperamos que le sirva de utilidad, puedes filtrar por moneda 💲💰💰💲, precios, ratio, etc. 👍
Posiblidad de regalar el plan GOLD 🥇 a otros usuarios.
Mediante el comando /gold podrás adquirir o regalar a otros usuarios la subscripción vía saldo 🔤🔤🔤🔤 pero también vía ⭐️ de Telegram.
(De esta forma puedes "revender" el plan a otras comunidades 🤑)
Y lo más importante, ESTAREMOS REGALANDO 10 subscripciones GOLD a los usuarios que compartan en Twitter: 🐣
Una anécdota sobre cómo QvaPay✅ le ha resuelto algún problema en su cotidianeidad 💵, adjuntar alguna foto y mencionar a @qvapay con el hashtag: #p2p#qvapay#bitcoin
Regalaremos el plan GOLD a las 10 publicaciones con más ❤️ el 2 de agosto.