Что делать если нужно поставить какую-то 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
Уже месяц как я размазываю свой контент на четыре площадки: Телега — база, LinkedIn, ВК и MAX. Кроме раздражения, боли и лёгкой депрессии я ничего не испытываю. Периодически ловлю себя на простой мысли: «зачем мне вообще это дерьмо?»
ВК как соцсетью я не пользуюсь, MAX тоже не присутствует в моей жизни. В итоге сам сделал себя жертвой блогинга, где нужно везде успевать, подстраиваться под аудиторию и вести все каналы ради охвата. Но я же вообще не про это. Это только усиливает внутреннюю тревогу и без того на фоне всего происходящего в мире
Сегодня решил, что дальше делаем так: пока телегу окончательно и прям намертво не заблокируют, я ничего менять не буду. Будь как будет. Я не блогер. Я просто веду канал по фану для своей банды и иногда дублирую что-то в LinkedIn. Пусть так и остаётся. Если придётся и будет желание, то начну с нуля
🔗Установить контакт в LinkedIn
🔗Пригласить в этот канал бандитов
#channelupdate
P.s. К посту приложил видео, которое я делал для своей первой и пока последней рекламе канала внутри ТГ (да, ещё те времена, когда был Дизайн-батя)
Пошёл вам навстречу и разблокировал пачку реакций, теперь будет где разгуляться!
🥂
У меня ещё есть место для кастомных эмодзи. Кидайте в комментарии, что хотели бы видеть как реакцию канала. Самые топовые и релевантные — добавлю без колебаний
#channelupdate
В этом году на канале появилось несколько отличных рубрик, но самой популярной по-прежнему остаются пятничные мемы. Я хочу немного разнообразить повторяемый контент, поэтому есть идея для вторичных рефов. Суть в следующем: каждую неделю будет дроп интересных UI/UX работ в формате шота. Это будет как съесть пончик и обогатить свою насмотренность. Что думаете?
Через пару минут я опубликую первый пост, и это будет отправная точка. Если идея вам нравится, дайте знать. Если у вас есть другие идеи, смело пишите в комментарии или боту.
🤵Го
#channelupdate
Здарова банда!
Я решил ещё сильней сломать стену межу нами и представляю вашему вниманию — 🤖Бот-ассистент Дизайн-бати. Теперь вы можете в удобном формате отправить мне какой-нибудь контент, дополнить emoji-набор или оставить предложение с критикой.
Вот это да, теперь канал официально стал лухари, а вы вместе с ним
🥃
🔗Активировать бота
P.s. Ссылка на бота теперь всегда доступна в описании канала
#channelupdate
Вы и сами всё уже знаете, а если в танке, то вот релизнот телеги
Честно не знаю нахера мне сторисы на канале, но если будет органично и не спамно — попробую
🟩Разблокировать сторис для канала
P.s. Голосовать могут только премиальные юзеры один раз в сутки, с аппкой 10.01 и выше
Update: это не просто доступ к сторис, а рейтинг канала, который поднимают подписчики
😮
#channelupdate
Здарова банда!
Мы должны понимать друг друга с полуслова, поэтому я почистил реакции на основе статистики использования и оставил только самое нужное.
Вот что получилось:
🔥Пиздатый контент
💯Абсолютное согласие
😂Бугагашенька
🍌Невероятная красота, возбуждение
🤝Поддержка,принятие информации
🤯Шок, удивление, охуевание
💩Возмущение, недовольство
𐄂 𐄂 𐄂
Теперь ставить реакции проще, уж надеюсь вы возьмете себя в руки и начнете ещё активней тыкать в них ‼️
Давайте проверим новую схему на новом посте 🙃👇
#channelupdate
Hello dear subscribers! 🥰
I know that I've posted quite a few #channelupdate before; saying that I'm staying in a remote area right now (not literally, I'm just saying so because there's no network service here 🥺), hence, explaining why I've become even more quiet and rarely posting content in this channel.
and guess what?
I'm still staying in the remote area! 😍 (happy sarcastic tone).
Anyway, recently, I'm able to post/share quite consistent content every week, because recently, I just remembered that this channel actually have two bots; one is @qw_qwbot and the other one is a bot which is used for the purpose of posting #poll and scheduled post (ikr how could I forgot my lovely bot😭)
So, if you notice that there's been consistent contents posted in this channel recently by an admin named "🍃", that's just me – marce 'hiding behind a bot', & all those posts were actually scheduled 3 days or a week before that when I was out to town.
I could've just post those contents only on the day or the few hours I'm out to town, but I don't want to be quiet every day in this channel (although this channel is Quiet World), and suddenly one day, bombard you with tons of quotes and stuffs – that can be annoying.
Hence, I used that time I could, to manage those scheduled post (in which I typed & made in advance too 🤣) so that the frequency and number of posts are even throughout every week 😜🤗
So yeah, I know that this #channelupdate might not be that important & nobody probably cares about what happening behind the scene but I'm just gonna pretend that some of you do care and type this update anyway😘
But if you actually do care about this #channelupdate & care to know what's happening behind the scene 🥺, let me know by clicking that tempting '❤' button, & if you are quite unaffected in any way, click that '🙂' button 😂
If you're reading till the end of this post, thanks & congrats! I love you 😘
Take care 🌹
#channelupdate#poll@quietworld🍃
Был: 🪦Дизайн-батя
Стал: 🏆@bymakstorch🏆
…ещё во время отдыха, думал среди прочего: а для чего мне вообще этот канал? Нахуя я что-то пишу? Для чего вы подписались? Вы же читаете меня не из вежливости же — у каждого тут сотни подписок, нескончаемая лента... Ответа пока не нашёл, но видимо что-то цепляет. Чуть-чуть почёркал свои черновики да заметки, пересмотрел где-то контент и принял решение сменить название канала, но плавно 😮
Название «Дизайн-батя» яркое, но слишком «мемное» и ограничивающие. Время для моего альтер эго — Maks Torch. С ним я давно роняю запад ебошу разные продуктовые проекты. Под этим флагом мне и вам будет проще идти дальше.
Никакого «дизайн» в названии, всё! Пошла эта связка нахуй. Ничего общего не хочу иметь с сегодняшней дизайн-тусовкой и не хочу, чтобы меня искали по «design». У нас тут своя банда, не забываем.
🕳
Канал финально изменит облик в
🔤🔤🔤🔤🔤🔤🔤🔤🔤
Новую фичу с возможность предложить контент — включил 🟩 но более удобная форма всё равно в боте 🤖@makstorch_bot
#channelupdate#мысли
Банда, есть идея!
На канале почти 100к (ну, без 99к), и у нас тут своя уникальная атмосфера. Кажется, мы готовы запустить свою публичную номинацию
🥂
Предпосылки
Знаю, что многие подписчики по необъяснимой причине читают абсолютно бездарный канал, что-то там про адский юиск
😄, что означает — спрос на такой контент есть. Но я не планирую выливать на вас такой треш и фастфуд, поэтому придумал следующее...
Про номинацию
Хочу каждый год коллективно собирать самые крупные и неудачные проекты, редизайны, решения, а затем устраивать голосование и награждать победителя статуэткой туалета с названием проекта.
🕳
Понятное дело, что сейчас я не буду делать лендос и статуэтку. Пока мне важно ваше мнение, ведь мы же банда алло. Если ты считаешь, что такая номинация необходима в РУ сегменте, ставь 🤜, а если думаешь, что это какая-то поебень, ставь 💩
От вашего отклика зависит наведу я суету или нет. Буду рад участию подписчиков: графика, выбор кандидатов и другой вид деятельности.
#мысли#channelupdate
⚙️Настройка контента на канале
Здарова банда!
🧢
Много времени прошло с последнего опроса и калибровки предпочтений по контенту. Сейчас запущу голосование, а вы будьте зайками — ответьте, какой контент вам больше заходит. В комменты можно кинуть критику, идеи и пожелания.
#опросы#channelupdate
🔥😂🤜💯💩
🍌
😭
Какой реакции нехватает лично тебе?
Кидай один эмодзи в комменты и возможно именно он встанет в один ряд с базой реакций канала.
#channelupdate#опросы
В этом месяце меня пару раз подковырнули: мол, канал стал больше развлекать, чем рассказывать что-то полезное. Говорят, хохотушек стало больше, чем тру край дизайн лайф. И знаете что? Да, согласен. Рубрики веселят, гости заходят, а продуктовая жизнь ушла. Так что да, я услышал и исправляюсь. Буду постить пореже, но с балансом: лайф → рубрики → гости → снова лайф (но это не точно).
Также, я как автор
🧢 вписался в конкурс авторских Telegram-каналов. Формат и подход мне кажется интересным: 15 больших, популярных и живых каналов, не просто оценивают авторов, а репостят самые сильные посты победителей. Идея благородная.
Буду рад поддержке с 7 по 14 июля на канале конкурса @tg_contest_main, а пока, думаю, какие 3 поста отдать на растерзание
🚬
Любые ваши вопросы, идеи и возражения кидайте в комменты или в бота @makstorch_bot
#channelupdate#конкурсы