Что делать если нужно поставить какую-то 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
🎉 Наградили выпускников "JS bootcamp. Deep Dive into React" 2023!
👨🎓 В этом потоке у нас 4 воронежских выпускника. На торжественное вручение смогли прийти Тимофей и Никита. Сертификаты им вручила наш Software Engineer и менеджер курса Мария Тихонова. Остальные фронтендеры получат свои сертификаты в электронном виде 👍
🌐 В этом году наш курс стал международным. Новый формат доступен в трех странах – Узбекистане, Португалии и России. По традиции программа была насыщенная: только практика и знания без воды. Также у каждого студента был персональный ментор.
👏 Поздравляем всех выпускников с успешным прохождением курса. Вы молодцы! Желаем вам дальнейших успехов в карьере! 📈
#dsr_training_center#JSbootcamp
🔥Последний шанс попасть на курс JS Bootcamp!
Успей подать заявкудо21 января, чтобы прокачать навыки во фронтенд разработке!
❗️Напоминаем: Онлайн-тестирование пройдет 24 января в 17:00. Завтра отправим письмо на почту с подробностями. Обязательно проверьте папку спам или напишите нам на [email protected], если не получите письмо.
#DSR_courses#dsr_training_center#JSBootcamp
👋 Знакомьтесь, Шохрух Тураев — наш Software Engineer (DSR Tashkent) и выпускник JS Bootcamp!
🧑🎓 Шохрух прошёл наш бесплатный курс и получил свою первую работу во фронтенд-разработке в DSR.
🎥 В ролике он поделился своим опытом обучения, и рассказал, почему он выбрал карьеру инженера. Видео на английском.
💻 Начните свой путь в IT — регистрация на курс еще идет!
❗️ Подать заявку.
#DSR_courses#dsr_training_center#JSBootcamp
👋Привет, фронтендеры! Ещё не зарегистрировались на JS Bootcamp?
👨💻 Ментор курса Александр Евстафиади, Senior Software Engineer, расскажет, чем наш курс отличается от остальных. Видео на английском.
Спойлер:
✅ Полностью бесплатный курс от инженеров мирового уровня
✅ Занятия на английском
✅ Персональное менторство 1:1
✅ Возможность претендовать на позицию Junior Front-End разработчика
✅ Цифровой сертификат по окончании
👉 Успей подать заявку.
❓FAQ по курсу.
#DSR_courses#dsr_training_center#JSBootcamp
🗓Делимся расписанием курса JS Bootcamp.
Показали все этапы: Q&A сессия, тестирование, интервью и старт обучения.
➡️ Ответы на вопросы по курсу тут.
⚡️Успейте зарегистрироваться!
#DSR_courses#dsr_training_center#JSBootcamp
ℹ️Расскажем все, что тебе нужно знать про наш бесплатный курс.
Листай карточки и скорее регистрируйся!
❓ Если остались вопросы — присоединяйся к нашей Q&A-сессии 15 января.
#DSR_courses#dsr_training_center#JSBootcamp
🚀Старт регистрации на бесплатный курс по фронтенду!
DSR запускает JS Bootcamp. Deep Dive into React — всего за 80 часов вы освоите навыки junior front-end разработчика.
Курс проходит в онлайн формате и предполагает личное менторство от наших инженеров.
Что вас ждёт:
✅ Прокачаете навыки до уровня junior front-end
✅ Освоите React «изнутри»
✅ Создадите свой первый рабочий веб-проект
✅ Получите сертификат, подтверждающий компетенции
❗️ Лекции на английском языке. Рекомендуемый уровень английского — B1 и выше.
➡️Подавайте заявку прямо сейчас! Количество мест ограничено.
#DSR#DSR_courses#dsr_training_center#JSBootcamp
👨🎓👩🎓 Собрали для вас полезные ресурсы в нашей традиционной рубрике #DSR_knows.
Эти материалы особенно пригодятся тем, кто хочет попасть на наш легендарный бесплатный курс по фронтенду JS Bootcamp. Deep Dive into React!
➡️ Сегодня - краткий обзор интерфейсных технологий:
💥Authentication
✅Sessions and cookies
✅Web Authentication Methods Explained
💥Tool
✅Git Tutorial for Beginners: Command-Line Fundamentals
💥HTML5, CSS
✅Learn HTML5 and CSS3 From Scratch
✅Flexbox
💥Javascript
✅Modern JavaScript Cheatsheet
✅The Modern Javascript Tutorial
💥Networking
✅How the Internet Works for Developers
✅An overview of HTTP
✅DNS Explained
✅REST API concepts and examples
⚡️Регистрация на курс еще идет!
❗️ Обучение будет проходить на английском языке.
#DSR_courses#dsr_training_center#JSBootcamp
‼️ Сегодня закрывается регистрация на курс JS Bootcamp: Deep Dive into React!
❗️Курс проходит на английском языке
🔗Успей подать заявку!
❓Пропустили презентацию курса?
▶️Ищите её в нашей группе Training Center (EN)
❗️Напоминаем: Вступительный экзамен состоится 17 февраля. Письмо с подробностями о тесте отправим завтра. Обязательно проверьте папку спам или напишите нам на [email protected], если не получите письмо.
#DSR_courses#JSBootcamp#JavaScript#dsr_training_center
Итоги года: Учебный центр DSR
Перед Новым годом мы подвели итоги работы Учебного центра DSR за 2023-2024 год. Вместе с командой обсудили достижения, поблагодарили наших менторов, подарили им памятными подарками и зарядились праздничным настроением. 🎁
💡Не без гордости хотим отметить, что:
• Наши курсы остаются бесплатными для всех.
• Уже два года обучение доступно не только в Воронеже, но и в Ташкенте и Порту (города, где работают наши офисы).
• Мы получили заявки от студентов из 28 стран!
Другие интересные цифры представлены в нашей инфографике.
🚀А наш учебный год в самом разгаре!
Совсем скоро стартует курс по фронтенду — JS Bootcamp. Deep Dive into React. Обучение будет проходить на английском, так что это отличная возможность не только улучшить навыки разработки, но и подтянуть язык.
🗓Узнайте больше и регистрируйтесь тут
#DSRTrainingCenter#ITEducation#JSBootcamp
Вы еще не устали отдыхать? 👨🎓👩🎓 Если хотите посвятить свободное время получению новых знаний, то вам поможет наша рубрика #DSR_knows.
➡️ ️ Сегодня - краткий обзор интерфейсных технологий:
💥Authentication
✅ Sessions and cookies - https://vk.cc/cqW5jA
✅ Web Authentication Methods Explained - https://vk.cc/cqW5mR
💥Tool
✅ Git Tutorial for Beginners: Command-Line Fundamentals - https://vk.cc/cqW5oP
💥HTML5, CSS
✅ Learn HTML5 and CSS3 From Scratch - https://vk.cc/cqW5vM
✅ Flexbox - https://vk.cc/cqW5xI
💥Javascript
✅ Modern JavaScript Cheatsheet - https://vk.cc/cqW5zC
✅ The Modern Javascript Tutorial - https://vk.cc/cqW5Dr
💥Networking
✅ How the Internet Works for Developers - https://vk.cc/cqW5Fo
✅ An overview of HTTP - https://vk.cc/cqW5HQ
✅ DNS Explained - https://vk.cc/cqW5K2
✅ REST API concepts and examples - https://vk.cc/cqW5O7
Эти знания пригодятся вам для поступления на наш бесплатный курс по фронтенду 'JS Bootcamp: Deep Dive into React'!
⚡️ Регистрация уже идет https://en.dsr-corporation.com/courses/jsbootcamp/
‼️Обучение будет проходить на английском языке.
#DSRTrainingCenter#ITEducation#JSBootcamp