Что делать если нужно поставить какую-то 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
#WhatsApp supporterà la modifica dei messaggi inviati: si avranno fino a 15 minuti di tempo per apportare cambiamenti ed i messaggi riporteranno la dicitura: “Modificato”.
Rilascio dell’attesa novità “in corso”.
@amiciapple
😎 WhatsApp yanada qulaylashdi: yangi funksiya suhbatlaringizni tartibga solish imkonini beradi
ℹ️WhatsApp takomillashishda davom etmoqda va foydalanuvchilar endi maxsus filtrlar yordamida suhbatlarini tashkil qilishlari mumkin! Ilgari filtrlar sizga kerakli suhbatlarni tezda topishga yordam bergan, ammo ushbu yangilanish bilan siz turli guruhlar uchun o'z toifalaringizni yaratishingiz mumkin: qo'shnilar, sinfdoshlar, hamkasblar va boshqa kontaktlar.
⚙️ Bu qanday ishlaydi:
• “Chatlar” bo‘limida filtr panelidagi “+” belgisini bosing;
• Yangi toifa nomini o'rnating va unga kerakli suhbatlarni qo'shing;
• Nomini o‘zgartirish uchun ro‘yxat nomi ustida ushlab turing.
📅 Kelgusi haftada bu funksiya barcha WhatsApp foydalanuvchilari uchun mavjud bo'ladi.
➡️#whatsapp | Birinchi raqamli IT-Blog
📱WhatsApp iOS va Android smartfonlari o'rtasida AirDrop singari erkin fayllar almashinuvini ta'minlash uchun yangilik tayyorlamoqda
➡️#whatsapp | Birinchi raqamli IT-Blog
מה קורה מאחורי הקלעים ב-$ASTS? 🤫
שימו לב היטב -
צוות המחקר שלנו איתר סדרת מידעים על מעורבות עמוקה ב-$ASTS של בכירים בחברה מטא 📱
בסוף חודש אפריל פורסמו תמונות שמראים כמה בכירים במטא בביקור במפעל הייצור של לווייני ASTS.. 🏭
חפרנו קצת יותר וגילינו שהשיתוף פעולה הזה לא חדש.🔎
בדו"ח השנתי שלה - $ASTS מציינת במפורש ''Collaboration with META for D2D optimization" (אופטימיזציה של Direct-to-Device). 🤝
זה כולל עבודה משותפת עם Vodafone ומטא על WhatsApp, במיוחד בפרויקטים באירופה. 📱
אבל הביקור הזה הוא חריג - בעיקר בגלל כמות הבכירים - וגם ההתבטאויות שבאו אחר כך. 🤔
ראש תשתיות רשת גלובליות בו מדגיש את הרחבת השותפות עם $ASTS בפוסט ארוך בלינקדין, בתוך דבריו הוא כותב כך:
כפי שאמרתי, השבועות האחרונים עסקו בחלל - בילינו זמן רב תובנות עם AST SpaceMobile ויצאנו משם בהשראתו האמיתית מהנועזות של הגישה שלהם לקישוריות מבוססת חלל.
מה שבולט הוא עד כמה המודל שונה מהותית. לא אלפי לוויינים קטנים, אלא כמה מערכים מסיביים בעלי הספק גבוה שנועדו להתחבר ישירות לסמארטפונים סטנדרטיים.
בהמשך הוא נכנס יותר לפרטים הטכניים - והוא כותב את השורות הבאות:
כעמוד מרכזי של אינטראקציה עם משתמשים בשווקים רבים, #WhatsApp מציעה פלטפורמה חזקה שעליה החברות שלנו יכולות לחדש ולהתרחב
מה שמשתמע מאד מכל הסיפור הזה - השותפות עם מטא מעמיקה מאד 👀
- כאשר המטרה היא שכל אדם בעולם יוכל להתחבר לרשתות החברתיות דרך הלוויינים - בדגש על ווצאפ. 🌎
תחשבו על זה כעל תחרות ישירה של מטא מול סטארלינק🏎
כדי להתקשר בווצאפ במקום בלי קליטה לא תצטרכו יותר סטארלינק - הפונקציה תהיה מובנית בתוך ווצטאפ? 📞
תחשבו על כמות הלקוחות האדירה שנמצאת בווצאפ - מיליארדי אנשים... 👨👩👧👦
ההקשר הרחב עשוי להיות מטורף?🔍
למטא יש 3.3 מיליארד משתמשים פעילים בווצאפ - כולל מיליוני עסקים קטנים בשווקים מתעוררים כמו הודו וברזיל שכיסוי הקליטה שם נמוך - ושם נסמכים בעיקר על ווצאפ...📱
יכול להיות שהתכנון של מטא הוא להפוך את ווצאפ פלוס לשירות תקשורת בתשלום שיתחרה בסטארלינק? 🤔
אם כן - זה עשוי להיות שינוי ענק בעולם התקשורת העולמי.💬
ו-ASTS? 🌍
יושבת בדיוק על השיבר של התקשורת הלוויינית... 🔎
ערוץ הפרימיום של -התראות מניות חמות בטלגרם🔵
אין בנכתב המלצה לביצוע פעולה בני"ע ואין האמור מהווה תחליף ליעוץ.
#WhatsApp supporterà la modifica dei messaggi inviati: si avranno fino a 15 minuti di tempo per apportare cambiamenti ed i messaggi riporteranno la dicitura: “Modificato”.
Rilascio dell’attesa novità “in corso”.
@amiciapple
¿Que puede hacer este bot?
@WhatsAppAPIbot
Este bot le permite crear enlaces directos con mensajes precargados a cualquier chat de WhatsApp de forma rápida y sencilla.
Idiomas: inglés, español, alemán, italiano
(Visto en @botsgram_cu)
#WhatsApp
Este tutorial es un poquito distinto, ya que en este caso vamos a estar enseñando a usar los comandos de un bot que creó uno de nuestros subscriptores del canal que funciona en WhatsApp
Mediante este enlace podrás contactar al bot
👉🏻 Los comandos se encuentran en @SkueletorSupport
Recuerden que es un proyecto nuevo, lo que quiere decir que puede contener fallas 🚧
Idioma: español
(Visto en @botsgram_cu)
#whatsapp
🚨 WhatsApp is finally coming to iPad!
After years of waiting, the world’s most popular messaging app is officially available on Apple’s tablet. You can now use WhatsApp on your iPad as a linked device to your iPhone, keeping all your chats in sync.
Perfect for replying to messages while working, studying, or just chilling on the couch with Netflix. About time, right? 😅📲💬#whatsapp