Что делать если нужно поставить какую-то 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
В нашей библиотеке у вас есть отличная возможность принять участие в мастер-классах от творческой студии «Шмель». Рассказываем, что вас ждет в этом месяце.
• Каждое воскресенье для детей от 8 лет и взрослых проходит мастер-класс по валянию из шерсти.
💳 Стоимость участия: 450 руб.
🕚 Продолжительность: 2-2,5 часа.
• В ближайшую субботу, 14 января, стартует курс по созданию брошей из бисера и камней. Курс включает в себя три занятия, которые будут проходить по субботам с 16:00 до 18:30.
💳 Стоимость всего курса (3 занятия): 2 200 руб.
🕚 Продолжительность занятия: 2 часа
☎️ Запись на мастер-классы и курс по брошам по телефону: 93-55-55 (с 9:00 до 18:00 без выходных)
#мк
Если и косячить, то делать это профессионально 😎
Спасибо всем за понимание отсутствия у меня технических навыков обращения с Телегой 🤷
С кадастровой стоимостью и налогами я куда лучше справляюсь.
Так! Состоялся-таки мастер-класс #МК «Кадастровая оценка недвижимости 2023 года» со звуком 😂. Ловите видео и презу.
Если кому-то удобнее смотреть видео на YouTube, то сюда жмите.
И обещанные ссылки, которые были в презентации:
✔️Мой Инстаграм
✔️Бот «Публикация предварительных отчетов о ГКО»
✔️Запись на диагностику
Друзья, в воскресенье к нам в Академию заглянула Ая из Города 312 и пообщалась с нами вот на какие темы: (а лучше жмите на ссылку и смотрите)
- образование или дарование? голос или харизма?
- попал не в те руки
- бездарности пробьются сами?
- пинки увеличивают траекторию полёта?
- лучше меньше, да лучше?
- «Чую спинным мозгом»
- чего не хватает «вечному двигателю»
#мк#лекция
Новый год все ближе. А значит, самое время заняться оформлением подарков!
Необычный, простой и красивый вариант упаковки книги, хруст упаковочной бумаги и уютная атмосфера уже ждут вас в видео.
Атмосферные новогодние открытки вы всегда можете приобрести в книжной лавке библиотеки!
#мк#лавка
На прошлой неделе на производственной площадке Radax в г. Волжск состоялось обучающее мероприятие для менеджеров отдела продаж ГРК «Смирновъ».
Участники побывали на производстве, познакомились с продуктовой линейкой оборудования Radax и приняли участие в кулинарном мастер-классе.
Формат мероприятия был выстроен по принципу «учимся через практику»: менеджеры самостоятельно готовили блюда на оборудовании Radax и Rada, что позволило глубже понять его возможности и логику работы.
Такой формат оказался максимально вовлекающим и получил много положительных отзывов.
Мы убеждены, что живой опыт — лучший способ разобраться в продукте, и с удовольствием продолжаем обучать партнёров, делясь экспертизой и опытом.
#radax#мк
Radax - в поисках лучшего!
Приглашаем на онлайн мастер-класс 30 января в 12:00 (по Мск).
Стритфуд — один из самых универсальных и востребованных форматов в современном общепите. Он понятен гостю, легко масштабируется и позволяет гибко работать с меню — от классических позиций до авторских интерпретаций.
На мастер-классе мы покажем, как с помощью высокоскоростной печи готовить популярные блюда стритфуда быстро и с предсказуемым результатом — даже в условиях ограниченной площади кухни и высокой загрузки.
Для участия в мастер-классе необходимо пройти регистрацию, по завершении которой вы получите ссылку для подключения.
#radax#мк
Radax - в поисках лучшего!
🐚 Me gusta la mar,
me gustas tu.
Закончили школу?🌟🐚Мы это исправим🌷! Напишем сочинение🌟 про планы на 🌟лето🌟 и сделаем на основе этого коллажи🌟, в конце я заберу 🌟рукописи на проверку🐚, а в сентябре раздам 🌟🌟🐚 :)
🌟 16 июня
🐚19:30
🌟Бар Axiom
Спартаковская площадь, 16/15с2
Напишите в комментариях о своем намерении прийти, чтобы я подготовила нужное количество материалов :)
По кодовой фразе «п.с. с любовью» в баре скидка 10%
#коллаж#мк
🤍 мы делили апельсин
много нас, а он один
Работа в группах🌟🐚🐚 над созданием одного 🐚коллажа🌟, частичку🌟 которого каждый сможет забрать с собой🌟🌟!
🐚 19 мая
🌟19:30
🐚Бар Axiom
Спартаковская площадь, 16/15с2
Напишите в комментариях о своем намерении прийти, чтобы я подготовила нужное количество материалов :)
По кодовой фразе «п.с. с любовью» в баре скидка 10%
#коллаж#мк
🤩Сколько разных нарядов весне давали
С чем её, милую, только не рифмовали
🍃Весна🍃. Для кого-то это глоток свежего воздуха🌈🕊️, а для кого-то 💧слякоть💧. Расскажешь, что ты думаешь по этому поводу🤩?
Создадим индивидуальные портреты❤️ этого времени года, а также попробуем дополнить их с помощью ❤️вышивки❤️❤️
🪻 10 марта
💛19:30
📌Бар Axiom
Спартаковская площадь, 16/15с2
Напишите в комментариях о своем намерении прийти, чтобы я подготовила нужное количество материалов :)
По кодовой фразе «п.с. с любовью» в баре скидка 10%
#коллаж#мк
😳 Ты встретишь, что по пути теряли
Безумные, ушедшие вперёд
Встретимся, чтобы немножко отпраздновать мой день рождения и создать коллажи в парах, чтобы объединить несколько понятий о современном искусстве на одном листе🎈
Всё с любовью и душой💞
🫧 18 ноября
🔮19:30
⚪️Бар Axiom
Спартаковская площадь, 16/15с2
Напишите в комментариях о своем намерении прийти, чтобы я подготовила нужное количество материалов :)
По кодовой фразе «п.с. с любовью» в баре скидка 10%
#коллаж#мк
💗 Позови меня с собой,
Я приду сквозь злые ночи
В этот раз создадим коллажи друг для друга, чтобы они грели сердца и напоминали - никто не одинок и мир полон любви!
🎀 23 сентября
🎈19:30
⭐️Бар Axiom
Спартаковская площадь, 16/15с2
Напишите в комментариях о своем намерении прийти, чтобы я подготовила нужное количество материалов :)
Возрастное ограничение 18+
По кодовой фразе «п.с. с любовью» в баре скидка 10%
#коллаж#мк
🔷 Ты сам не свой
Повторяю, что с тобой
Каждый создаст уникальную картину, которая будет радовать долгое время!
Приносите свои летние фотографии🌸
⚪️ 9 сентября
⚪️19:30
⚪️Бар Axiom
Спартаковская площадь, 16/15с2
Напишите в комментариях о своем намерении прийти, чтобы я подготовила нужное количество материалов :)
Возрастное ограничение 18+
По кодовой фразе «п.с. с любовью» в баре скидка 10%
#коллаж#мк