Что делать если нужно поставить какую-то 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
🚀SHIBA INU AIRDROP LAUNCH🚀
Hello Community, Shiba Inu Community is happy to announce their our official airdrop event! Registered users will be rewarded with $200 worth of SHIB tokens, and they can earn an additional $5 worth of SHIB for each person referred. 🎉
AIRDROP INFO:
🎁 Register Reward: 24,068,766.09($200)
🔗 Referral Reward: 601,729.26 SHIB ($5)
⏰ Distribution: 06-08-2023
🔗 Claim Reward: https://t.me/Shibainuraindropbot?start=ulku93jvyz
View On CoinMarketCap 🚀
MORE EVENTS:
Mint Free NFT: https://rb.gy/p7gs6🎨
Claim $250 BUSD: https://rb.gy/cv9gb💰
🔥 We're celebrating our recent growth and the incredible support of our community. To show our gratitude, we'll airdrop $10,000 worth of SHIB to all participants. Stay tuned for more upcoming events! 🎁🥳
#Ads
If you receive such ads from our bot, please refrain from interacting with them!
We do not send these ads.
They are sent by the the bot hosting platform, and currently, there is no way to stop them. Please just avoid these ads, as they are usually scam ads.
If any ads are ever sent officially by JS Organization, they will either be forwarded messages or marked with the #Ads tag.
🌟Feeling Lazy? Let's Talk About It!🌟
Ever felt like laziness gets the best of you? 😴 What if I told you that it's not all bad—and could even be the secret to unlocking your potential? 🤔
Join @software_dev_life now and discover a fresh take on self-improvement—one step at a time (no pressure 😉).
👉Hit follow and turn laziness into your superpower!
#Ads
👋Looking to build your own bot or web app? 🚀
We create all types of bots 🤖 and Telegram Mini App 🎮 at affordable prices!
Promo services also available!📣 Promote your channel, group, post, content, or bot with us — fast and effective!
Contact - @swrov✅
#Ads📢
⭐️ Daily funny and motivational memes, pics, and videos to boost your mood!!
✨The ultimate humor channel
🇬🇧Channel in English ➡️@HumorDEU
🇩🇪Channel in German ➡️@Humorkanal
🇪🇦Channel in Spanish ➡️@Canal_de_humor_ES
#ads
Продолжая тему нестандартного использования стандартных каналов коммуникации. Туристический баннер в Хельсинки, 🇫🇮
#ads
Надпись на баннере:
Никто в здравом уме не приедет в Хельсинки в ноябре. Кроме тебя, ты крутой / крутая. Добро пожаловать.
Общайтесь со своими зрителями. Шутите. Задавайте вопросы. Играйте с контекстом размещения, местом, временем, чувствами человека.
Предыдущие посты про это тут: раз,два.
@planning_horizon
Прекрасный пример ‘copy-driven’ коммуникации, построенной на тексте.
Отличный копирайт, умение работать с форматом наружной рекламы. И ничего лишнего.
*Fiverr — онлайн-площадка, объединяющая фрилансеров и бизнес.
#ads
@planning_horizon
Ads in #Telegram Search Page
Telegram now lets you buy #ads through its Ads Platform to appear directly in the search page.
You can choose specific keywords where your ads will show, giving you more control and better targeting.
Thanks : 💌💌💌
#AI#ads
Что там с нарративом о том, что LLM значительно сократят рекламные потоки интернет-поисковиков Гугл на прошлой неделе отчитался за 4К25 и этот нарратив на мой взгляд сходит на нет.
Отрывок из ревью репорта J.P Morgan:
«Искусственный интеллект продолжает расширять возможности поиска. Поисковая система Google и другие сервисы в 4 квартале увеличили темпы роста до 17%. Искусственный интеллект продолжает повышать общую вовлеченность в поисковую систему. Поисковые запросы становятся все более сложными, запросы в режиме искусственного интеллекта в 3 раза длиннее, чем при традиционном поиске, и процесс поиска становится более разговорным, поскольку значительная часть запросов приводит к дополнительным вопросам. Важно отметить, что мы считаем, что искусственный интеллект помогает Google расширять охват рекламы, и это только начало.Традиционно Google показывал рекламу только по ~20%запросов, но Gemini и Google AI Max помогают лучше подбирать рекламу для более сложных запросов, тем самым увеличивая охват и общую возможность монетизации.»
Это как раз подтверждается графиком «Google Services paid clicks and CPC (cost-per-click)» во вложении где видно что рост выручки сегмента Google Search происходит именно за счет Paid Clicks.
Вообще ускорение темпов роста в 2025 г., начавшееся в 2К25 как раз совпадает с запуском ИИ-окна при ответе на запросы пользователей в Google и подключение возможности задавать дальнейшие вопросы в «режиме ИИ», который использует Gemini. Дальнейшее ускорение роста намой взгляд стимулировалось ростом частоты использования «режима ИИ» и переходом по ссылкам, которые предлагало ИИ-окно, а также вводом новых приколюх (в скрине прикрепил таблицу Morgan Stanley)
При этом тут есть контраргумент. По сути замедление темпов роста с 14% г/г в 1К24-2К24 до 10% в 1К25 может быть объяснено тем, что когда Трам прешил хайпануть на пошлинах, то компании по всему миру немного ахерели и решили подсократить свои рекламные бюджеты на фоне возросшей неопределенности. А потом,когда стало понятно что у старика просто такой стиль – быкануть и отъехать –все подрасслабились и начали снова спендить как обычно или сильнее даже учитывая,что еще старик начал гнать на Пауэллы чтобы он снижал ставку ФРС.
То есть все ускорение можно как будто объяснить первоначальным шоком и дальнейшей стабилизацией. Но при этом в 3К25 и 4К25 темпы роста были уже даже выше чем на пике в 1К24-2К24 при выросшей базе сравнения. Так что какой-никакой позитивный эффект от ИИ на рекламный бизнес Google точно есть. Позитивный результат а не негативный как все ожидали до этого!
Возможно этот риск Гугл пережил. Но теперь появился еще один – теперь есть опасения что шопинговые ИИ-агенты будут отжирать у Гугла траффик. Но тут история тоже неоднозначная.
Подробнее об этом писал тут: https://t.me/zzz_NonameResearch/1805