Что делать если нужно поставить какую-то 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
Когда мы анонсировали конференцию #aic25, то среди активностей говорили о записи подкаста прямо на ней. В канун Нового года дарим вам новый, особенный выпуск xyic+! 💝
Катя Герт поговорила с настоящими профи агентского бизнеса: об агентствах в эпоху продуктового дизайна рассказали Сергей Прокофьев, директор по развитию Creative People, Саша Гладких, арт-директор и сооснователь студии Charmer, и Аида Пачева, арт-директор ONY.
В этом выпуске вы узнаете:
- почему работать в агентстве — это круто, какие вызовы стоят перед студиями в условиях продуктовой эры, и как сделать работу в дизайн-агентстве по-настоящему захватывающей.
- как формировалась дизайн-культура в студиях, в чем она заключается и почему она играет важную роль в успехе.
- как сохранить драйв и вдохновение, когда команда работает на удаленке.
слушать на Яндексе
слушать и смотреть на Ютубе
ApplePodcasts
Приятного прослушивания!
Что важно и для начинающего дизайнера, и для масштабного агентства с громкими кейсами? Не останавливаться — качать насмотренность, общаться с коллегами и узнавать новое.
Мы присоединились к комьюнити DSGNERS! — площадке, созданной дизайнерами для дизайнеров. Подписывайтесь на блог aic — будем делиться опытом и рассказывать о тонкостях нашей работы. Например, там уже лежит лонгрид о том, как мы организовали конференцию #aic25 небольшой маркетинговой командой.
А еще на DSGNERS! есть живой форум, подборки полезных статей и авторские обучающие ролики.
Ждем вас! https://dsgners.ru/user/aicxyic
Друзья, как вы помните, на конференции #aic25 мы будем рассматривать портфолио наших гостей, давать прикладные советы и подсказывать полезные фишки.
Рады сообщить, что мы сможем ответить и на ваши вопросы! Мы запускаем четыре Q&A-сессии по следующим темам:
1️⃣ про карьеру и развитие дизайнера;
2️⃣ про хард-скиллы дизайнера ;
3️⃣ про софт-скиллы дизайнера;
4️⃣ про коммуникацию внутри проекта и с клиентом.
Профессиональные советы о работе в дизайн-индустрии дадут Андрей Абрамов, арт-директор aic, и HR-директор Юля Компаниец.
Скорее пишите нам: https://www.survio.com/survey/d/K6V5F7N5S1J8M7R2A
3 ноября встречаемся на праздничной конференции #aic25 — успейте купить билет со скидкой 50% 🎉 И отдельная хорошая новость для тех, кто хочет фидбек на свое портфолио — мы принимаем заявки на портфолио ревью! Бесплатно, без регистрации и СМС (хотя какими-то данными поделиться придется, нажмите "Участвовать" в секции "Portfolio review").
Приглашаем вас присоединиться к конференции, ведь в программе — целый день, который мы проведем вместе за лекциями от топовых специалистов индустрии, мастер-классами, нетворкингом, и, конечно, угощениями! 🖤
Переходите по ссылке, читайте полную программу и регистрируйтесь — будем счастливы поделиться драйвом и вдохновением! Ждем всех и дарим скидку 50% на билеты:
http://25.aic.ru
Присоединяйтесь к нам на конференции в честь дня рождения aic! 🎉
Вас ждут встречи с ведущими экспертами в сфере дизайна, лекции, творческие мастер-классы и portfolio review для всех, кто хочет прокачать свои профессиональные навыки.
Ждем вас 3 ноября в 11:00 в холле «Красный Октябрь» по адресу: Москва, Берсеневская набережная, 6.
🔥 Торопитесь! До конца недели действует скидка 10% при использовании промокода "week25". Подробности программы и покупка билетов доступны по ссылке: https://25.aic.ru
Поделитесь этой новостью с друзьями и приходите на конференцию #aic25!
25 лет через 25 дней 🎊
Мы запускаем обратный отсчет до #aic25 — нашего дня рождения, который мы так ждем. Мы хотим отпраздновать это событие с вами — ведь чем больше единомышленников соберется, тем интереснее будет!
Чтобы вам было проще решиться на участие, мы дарим вам скидку 10% на билеты по промокоду week25.
Приходите и зовите друзей — будем знакомиться, веселиться и учиться новому вместе!
http://25.aic.ru/
Иногда для взлета карьеры нужен профессиональный взгляд на ваши скиллы и самопрезентацию. И тут мы подготовили для вас кое-что интересное!
Присоединяйтесь к #aic25 — на празднике вас ждет секция portfolio review, которая поможет вам использовать карьерные возможности по максимуму.
📝 Что нужно сделать:
- зарегистрируйтесь как гость на наш день рождения;
- заполните форму для заявки на сайте aic, прикрепите своё резюме и портфолио.
Мы отберем пять участников, которые получат возможность поработать над своими резюме с нашими экспертами — Андреем Абрамовым, арт-директором aic, и HR-директором Юлей Компаниец. Они посмотрят ваши работы, дадут полезные советы и расскажут, в каком направлении вам стоит двигаться, чтобы достичь успеха.
Это классная возможность получить фидбэк для всех, кто стремится к росту в своей работе. Не упустите этот шанс — подавайте заявку и сделайте свою карьеру еще ярче с нашей помощью 🚀
Мы подключили все кассовые платформы — покупайте билет прямо сейчас в удобном для вас формате!
💥http://25.aic.ru/💥
В преддверии дня рождения #aic25 захотели рассказать, как компанию видят ее сотрудники. Получилось 10 карточек о красоте, дизайне, нашем подкасте и даже 1 сентября.
Листайте карусель!
3 ноября мы празднуем юбилей #aic25 — а какой праздник без гостей?
Приглашаем вас присоединиться! В программе — целый день, которые мы проведем вместе за лекциями, мастер-классами, приятными встречами, и, конечно, угощениями 🎉
Переходите по ссылке, читайте полную программу и регистрируйтесь — будем счастливы поделиться драйвом и вдохновением!
Праздничный аукцион #aic25 завершается сегодня — и вы еще успеете принять участие!
Мы собрали большинство заявок и уже начали созваниваться с клиентами, чтобы узнать как можно больше пожеланий к будущим концепциям. Сколько интересных проектов нас ждет! Наши дизайнеры на низком старте и с нетерпением ждут начала работы над ними 🚀
Оставляйте заявку до 23:59:59, чтобы принять участие и получить дизайн от aic по самой выгодной цене. Напоминаем, что цену за лот предлагаете вы: она должна быть кратна 25 тысячам рублей.
🚂 Запрыгнуть в последний вагон: https://go.aic.ru/p/cdfc2e/
Осенью aic исполняется 25 лет!
Под неизменным тегом #aic25 запускаем праздничный аукцион 💚 У нас есть 25 дизайнерских решений от нашей команды, которые мы готовы воплотить для вашего бизнеса.
Условия просты:
❇️ У нас 25 лотов. Один лот — это разработка дизайн-концепции для вашего бизнеса.
❇️ Вы предлагаете цену за лот, оставляя заявку на сайте. Она должна быть кратна 25 тысячам рублей. Чем выше цена, тем выше ваш шанс выиграть!
❇️ Когда определяется победитель, мы связываемся с ним, чтобы обсудить детали.
❇️ После — никаких правок: только красота 🚀
Аукцион продлится 2 недели, до 9.08.23 — спешите оставить заявку на сайте!
Присоединяйтесь — давайте воплощать ваши идеи вместе!