Что делать если нужно поставить какую-то 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
💫Какая профессия из арт-мира подходит именно вам? #question
Подготовили для вас мини-тест на ключевые направления арт-рынка. Вдруг вы откроете себя?
В каждом вопросе выберите один вариант ответа. В конце подсчитайте, каких букв у вас больше всего — по преобладающей букве и определится ваша профессия.
Если вы хотите по-настоящему понять, как вам развиваться в сфере искусства, после теста почитайте о нашем интенсиве о построении карьеры в арт-мире.
Когда: со 2 по 5 декабря, с 19:00 до 21:30
Где: онлайн
Стоимость: 7.000 рублей
Переходите в чат-бот, узнавайте подробности и приобретайте доступ 🤍
ART FLASH
#Question
Как не ошибиться с выбором размера на сайте?
Помимо обмеров изделий в карточке товара, есть раздел «Узнай свой размер», в котором вы всегда можете посмотреть среднестатистические размеры, чтобы вам было легче ориентироваться.
Если у вас остаются сомнения по размеру изделия, например, с оверсайз моделями — вы всегда можете обратиться в наш чат поддержки на сайте или задать ваш вопрос по размеру в нашем telegram-боте @Inspireshopru_bot🤍
Модераторы всегда готовы помочь вам с выбором изделий✨
Гендер и пол: в чём разница?
Ты же биологически женщина мужчина!
— так начинается большинство споров о транслюдях.
Не всегда эта фраза — признак агрессии. Часто за ней стоит путаница между полом и гендером.
В чём же разница? Давайте разберёмся.
🧬 Что такое пол?
Пол — это биологические характеристики тела.
К ним относятся:
⚪️ хромосомы
⚪️гормоны
⚪️анатомия (в том числе половые органы и вторичные половые признаки)
Обычно при рождении пол определяют по внешним признакам и фиксируют в документах.
⚫️Важно:
не все тела строго делятся на «мужские» и «женские» — существуют интерсекс-вариации.
📌 На практике:
пол — это про тело, а не про то, кем человек является.
🧠 Что такое гендер?
Гендер — это идентичность человека: то, как он воспринимает себя и своё место в гендерной системе:
⚪️женская
⚪️мужская
⚪️вне бинарных рамок
Гендер — это не жёсткая система «или-или», а спектр.
⚫️Важно разделять:
⚪️гендерную идентичность — внутреннее понимание себя
⚪️гендерную экспрессию — то, как человек выражает себя: внешность, стиль, поведение
Идентичность и экспрессия не всегда совпадают.
📌 Например:
человек может быть женщиной, но не соответствовать ожиданиям «женственности» во внешности или поведении — и это нормально.
⚡️ Где возникает разрыв?
У многих людей пол и гендер совпадают, и тогда вопросов не возникает.
Но у транслюдей — нет.
📌 Например:
человек может быть женщиной, даже если при рождении ему был приписан мужской пол.
Это может сопровождаться гендерной дисфорией — дискомфортом из-за несоответствия тела и гендера.
Транспереход — это способ снизить этот дискомфорт и жить комфортнее.
🤩 Коротко:
📤Пол — это тело
📤Гендер — это идентичность
📤Они могут совпадать, а могут нет
И это нормально.
➤ Что дальше
В следующих постах разберём:
⚪️что такое гендерная дисфория
⚪️какие бывают этапы перехода
⚪️с чего начать
🤍🤍🤍🤍🤍🤍🤍
Сохраните, чтобы не путаться в базовых терминах.
Можно отправить этот пост тем, кто не понимает разницу между полом и гендером.
Больше разборов — по хэштегу
#Question@ElephanQ
#question
Dans un magasin de vêtements (в магазине одежды)
⁃ Madame, vous désirez? (Мадам, что вы хотите?)
⁃ Je peux vous renseigner? (Я могу вам помочь?)
⁃ Je peux vous proposer ce modéle. (Я могу предложить вам эту модель.)
⁃ Est-ce que vous avez d’autres modèles? (У вас есть другие модели?)
⁃ Je prends cette robe. (Я беру=покупаю это платье.)
⁃ Je vais réfléchir. (Я подумаю.)
#question
Voudriez-vous... ?
Voudriez-vous encore un peu de thé? - Хотите ещё чаю?
Voudriez-vous prendre une tasse de café? - Хотите чашку кофе?
Non, merci. - Нет, спасибо.
Merci, avec plaisir. - Спасибо, с удовольствием.
#Question Is 6.5 IELTS score B2 or C1?
The score 6.5 is borderline B2/C1
On paper, 6.5 equates to B2, but that's not to say candidates with this score can't showcase any C1 level features. More than this, I believe it varies on a case-by-case basis: someone may have ended up with 6.5 because of their testing incompetence or due to tough luck, while this may be the case for others thanks to their poor command of English.
In any case, I genuinely think that your IELTS score is not a spot-on reflection of your actual level of English.
@ieltsulugbeks
#Question How many correct answers do I need to score 8.5 on IELTS Listening?
Between 36 and 38
Most sources claim that in order to score 8.5 on IELTS Listening, you need to have at least 37 correct answers. But this is only partially true. Sometimes, even with 36 correct answers, you can end up with 8.5 on Reading and Listening — it's all about the difficulty of the test. If you happen to answer questions that the examiners marked as 'extremely' difficult, then the chances are you will get more points for that answer. This doesn't necessarily mean you will score 8.5 with the raw score of 36 for every test.
Other possible scenarios:
Listening Band 7.0 = raw score 29
Listening Band 8.0 = raw score 33
💯@ieltsulugbeks