Что делать если нужно поставить какую-то 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
Как часто вы сталкиваетесь с мисгендерингом на улице?
Может быть всё идеально: причёска, макияж, и «наконец-то я пассую», и тут внезапное
Молодой человек!
Или «месье» в спину, в случае нашей редакторки Дари.
И эйфории как не бывало.
Как это бывает, и что делать в таких ситуациях — в сегодняшнем видео.
#Queer@elephanQ
Жить в шкафу — это когда не можешь открыто быть собой, и приходится скрывать свою идентичность.
Детей приучает к шкафу
СТЫД
Ты опять брал мою косметику?
Мальчики не должны краситься!
Ты будущий мужчина!
Подростков прятаться в шкаф заставляет
СТРАХ
Ты слышал, что Колян надевает женские стринги?
Давай поймаем его после школы!
Взрослых из шкафа не выпускает
ЧУВСТВО ВИНЫ
Ну какой переход, какой транзишн?
Ну ты взрослый мужик, посмотри на себя!
А о детях ты подумал?
Для чего было тогда жениться?
КТО ТЕБЕ СЕЙЧАС ВИНОВАТ?
👁Люди в шкафу всю жизнь
⚪️играют чужую роль
⚪️боятся, что кто-то раскроет их секрет
⚪️считают себя неправильными, а свою идентичность — ошибкой
Жизнь в шкафу — это вначале выбор, который сделали за человека.
А потом ответственность, которую с него спрашивают за этот выбор.
Это когда тебя вроде видят,
но не видят тебя
А если бы всё было иначе?
📤дети могли быть откровенными с родителями
📤подростки не боялись чувствовать себя неправильными
📤взрослые не создавали ложные семьи
❤️Когда исчезнет понятие «жить в шкафу», исчезнут и каминг-ауты.
В них просто отпадёт необходимость.
Боли станет меньше, а счастья больше.
🤍🤍🤍🤍🤍🤍🤍
Если близкий человек вышел из шкафа — это не конец всего.
Это начало новой жизни: без секретов, без стыда, страха и чувства вины.
Поддержите его за смелость и поблагодарите за доверие и открытость.
#Queer@elephanQ
Некоторые стереотипно представляют себе трансженщину как «бородатого мужика в платье и с макияжем».
А трансмужчину... а про существование трансмужчин они и вовсе не знают.
Так кто же такие эти странные трансгендеры, и действительно ли они такие странные?
Не в ресурсе читать много текста? Смотри краткую версию на карточках здесь🤩
Откуда взялся стереотип?
⚪️Поздний старт перехода
Многие из транслюдей лишены возможности начать переход в юном возрасте. Виной трансфобия, стигмы, давление семьи, отсутствие правильной информации, а в последнее время ещё и дискриминационные законы. Они годами живут с приписанным гендером, заводят семьи, детей, а в какой-то момент понимают, что дальше не могут притворяться, и нужно что-то менять.
Переход — это не изменение себя, а попытка вернуть себя.
Но тело уже сформировалось, щетина плотно покрывает лицо, мускулы качали годами, чтобы «быть как все». Эпиляция занимает годы, а кости и вовсе не уменьшить. И получается, что трансженщина пытается привести свою внешность в гармонию со своим внутренним состоянием, но окружающие видят «парня в платье».
Окружающие не знают, что внутри у этой персоны, что она пережила, и какая мотивация у неё всё изменить.
Они видят картинку, которая не укладывается в привычные им рамки и создают стереотип.
⚫️Нежелание быть в гендерных рамках
Некоторые осознанно бросают вызов гендерным нормам и подбирают гардероб, не укладывающийся в привычное понимание мужского и женского.
У одежды нет пола
— говорят они, и надевают то, что комфортно именно им.
Трансмужчина может надеть платье, и накрасить лицо.
А трансженщина — отпустить бороду. И в том и в другом случае мы увидим человека с бородой и в платье, но мы не можем быть уверены, мужчина это, женщина или небинарная персона.
Гендерная экспрессия может не совпадать с идентичностью, и это нормально.
⚪️Это вообще не транслюди
Иногда за трансперсон ошибочно принимают тех, кто просто переодевается.
Цисгендерный мужчина тоже может надеть платье и сделать макияж — это не поменяет его гендер и не сделает его менее мужественным.
Одежда и внешний вид — лишь социальные нормы, которые менялись, будут меняться и меняются прямо сейчас.
⚪️Стереотипные образы привлекают больше внимания
Есть и те, кто максимально быстро проходит первый этап перехода и сливается с другими людьми своего гендера. В таком случае окружающие даже не узнают, что перед ними трансперсона, если она сама не расскажет. Они ничем не отличаются внешне и никак не выделяются в обществе.
🤍🤍🤍🤍🤍🤍🤍
Транслюди могут выглядеть экстравагантно или обыденно. Неформально или нормисно. Могут быть фриками, как и цислюди. Могут носить бороды, а могут платья.
Необычная внешность может быть осознанным выбором, или процессом изменений.
Но непривычно ≠ неправильно.
Вы имеете право выглядеть так, как вам нравится, и выражать себя так, как хочется.
#Queer@elephanQ
Поздравляем всех лесбиянок с Днём видимости!
В ролике рассказываем о том, почему обесцениваниене лучше агрессии, и зачем вообще нужен этот день.
Эту неделю мы посвятили лесбийской идентичности.
Разобрали:
📤 Что такое гомосексуальность?
📤 Кто такие транслесбиянки?
📤 Почему важна видимость?
⌨ На следующей неделе поговорим о том, что такое пасс, и почему для одних он важен, а для других — нет.
🤍🤍🤍🤍🤍🤍🤍🤍🤍
Напоминаем рубрики недели, по которым можно находить нужные публикации:
#Question@elephanQ
#Query@elephanQ
#Queer@elephanQ
There are infinite ways to be trans. Try not to feel discouraged if your experiences are different from other trans people you know. Your journey is uniquely yours.
-
[IMAGE DESCRIPTION: A tweet by @im_just_laur that says, "If you see 'trans culture' & just can't connect with it, remember that most of not all mainstream trans culture is made by & for a bunch of white trans people early in their transition. It's not inherent to transness. It's not something you have to relate to to be trans." The background photo is a pink sunset on a beach. The remaining text is too long to fit in the caption but can be found in the comments below or by using the alt text feature.]
-
#trans#transgender#ftm#mtf#nonbinary#gender#genderqueer#queer#lgbt#lgbtq#pride#transgirl#transboy#transwoman#transguy#transman#protecttransyouth#protecttranskids#transjoy
https://www.instagram.com/p/Cic3zpPLbMf/
Shame Honk. I love this
Follow @iam.queeer for more posts like this🌈
•
•
•
•
#lgbtq#queer#lesbian#gay#bisexual#transgender#trans#pridemonth#pride#pride🌈#lgbt#gaycouple#lesbians#lgbtqia#lgbtqpride#blackgay#prideweek#lgbtqrights#lgbtqcommunity#asexual#nonbionary#lgbtcommunity#lgbtqa#lgbtsupport#gayrights#aromatic#comingout#genderfluid#homosexuality#homo
https://www.instagram.com/p/Cnz8HHut3JA/