Что делать если нужно поставить какую-то 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
#Вакансия#ETL / #DWH Developer
Островок — travel-tech компания, создающая платформы онлайн-бронирования отелей, авиабилетов и других услуг как для индивидуальных путешественников, так и для корпоративных клиентов и тревел-агентств.
Мы ищем ETL / DWH Developer в команду Data Infrastructure. Команда Data Infrastructure отвечает за сбор, хранение и качество всех данных компании, разработку и поддержку аналитических сервисов и инструментов.
На этой позиции у тебя будет возможность отвечать за выделенную доменную область внутри нашего хранилища и улучшать ее структуру. Для этого необходимо иметь опыт работы с колоночными СУБД и доменными областями (финансы / продукт или другими).
Обязанности:
- Подготовка витрин данных;
- Оптимизация SQL-запросов;
- Коммуникация с бизнес-аналитиками и формализация задач;
- Участие в улучшении архитектуры аналитического хранилища;
- Настройка транспортов данных из внешних источников.
Обязательные требования:
- От 3х лет опыта работы на схожей позиции;
- Понимание принципов оптимизации SQL запросов;
- Знание Python;
- Знания в области архитектуры хранилищ данных (нормальные формы, схема Звезда, Data Vault);
- Опыт работы с GIT;
- Знание Английского не ниже B1.
Будет плюсом:
- Опыт работы с колоночными СУБД (у нас Vertica);
- Опыт работы с Docker и Airflow;
- Опыт работы с Postgres;
- Опыт работы с Hadoop
Взамен мы предлагаем:
- Удаленная работа и/или комфортный офис в центре Москвы с зонами отдыха, безлимитным чаем/кофе и питанием;
- Гибридный формат работы: удалённо, из офиса или оба варианта;
- Гибкий график — мы не требуем в 9:00 быть в сети или в офисе. Можешь начинать работать в комфортное для тебя время;
- Интересные амбициозные задачи, которые выведут тебя на новый профессиональный уровень;
- Обучение: семинары, тренинги, конференции. Если ты сам хочешь выступать на конференциях — поможем всё организовать;
- ДМС;
- Корпоративный английский, а также скидки на SkyEng;
- Крутые активности с коллегами: киновечера, викторины, тематические вечеринки, ежегодные выезды на природу, игры в футбол/волейбол;
- Корпоративные скидки на отели и другие услуги;
- Молодая активная команда классных специалистов.
До встречи в Островке!
Контакты: @stleona27
#Python#ETL#Database
⚙️
Essential Data Science: Database and ETL With Python
Mastering database programming and ETL with Python. Data Processing and Manipulation.
🌐 Inglés
⚖️846MB
🔗Link
-----
Canal principal:@repo_science
Cupones: @freecoupons_reposcience
-----
#ETL#bigData
🤩
Big Data Specialization
Specialization - 6 course series
1. Introduction to Big Data
2. Big Data Modeling and Management Systems
3. Big Data Integration and Processing
4. Machine Learning With Big Data
5. Graph Analytics for Big Data
6. Big Data - Capstone Project
Skills you will gain
- Big Data
- Neo4j
- Mongodb
- Apache Spark
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
#ETL#azure#book
🌐
Pro Serverless Data Handling with Microsoft Azure: Architecting ETL and Data-Driven Applications in the Cloud
✍️Benjamin Kettner
📆2022
🔗Link
-----
Main channel:@repo_science
Coupons:@freecoupons_reposcience
-----
#books#ETL#ML#tensorflow
📚
Building Machine Learning Pipelines. Automating Model Life Cycles with TensorFlow
🔗Link
-----
Canal principal:@repo_science
Cupones: @freecoupons_reposcience
-----
#вакансия#ETL#разработчик#middle#senior#удаленка
Вакансия: Разработчик ETL
Формат работы: удалённо
Локация: Россия (работа по времени Мск)
Занятость: полная
Вилка: до 250 000 рублей в месяц
Компания: Современные бизнес-аналитические решения
ООО Современные бизнес-аналитические решения - аккредитованная ИТ компания, мы входим в холдинг ИТ компаний обеспечивающий полное покрытие требований компаний к BI отчетности и DWH решений
Мы приглашаем в нашу команду опытного разработчика для работы над проектом по созданию хранилища данных
Обязанности:
- Разработка процессов загрузки данных из различных внешних источников
- Модификация и оптимизация базы данных PostgreSQL для загрузки данных из внешних и внутренних источников
- Создание универсальных ETL процедур и их переиспользование
- Помощь в составлении технической документации по разработанным процедурам
- Коммуникация с командой разработчиков
Требования:
- Опыт работы с ETL процессами и уверенное знание SQL
- Глубокое понимание работы БД PostgreSQL на низком уровне
- Опыт работы с большими объемами данных (более 1 ТБ)
- Понимание принципов ООП и знание UML
- Опыт работы в команде
- Технический английский язык
- Высокий уровень технической эрудиции
- Опыт разработки на Java или C#
- Знание одного из инструментов: IBM DataStage, Informatica PC, Pentaho Data Integrator
Мы предлагаем:
- Полностью удаленная работа, оформление в штат компании по ТК РФ
- Стабильный оклад + пересмотр заработной платы по итогам работы/пройденного обучения
- Возможность карьерного роста, профессиональное обучение и сертификацию с оплатой полностью/частично за счёт компании
- ДМС для сотрудника и членов его семьи
- 13 заработная плата
Работаем в сферах: торговля, медицина, банки, страхование
Контакт - @irinbik
Не забудьте уточнить, что вы из @datasciencejobs
#офис#вакансия#работа#ETL#DWH#DataEngineer#middle
Вилка: от 150 000 руб. до 200 000 руб. gross
Офис - Красная Поляна
Full-time
Наша знакомая - HR Маша (@mashasaiman) находится в поиске Data Engineer уровня middle, который подхватит унаследованную систему (MS стек) ,аккумулирующую информацию в DWH из 10 систем отелей с визуализацией в Power BI.
На этом базисе закроем текущие\горящие потребности бизнеса и начнем строить свою систему обработки данных на Industry Standard стеке.
Пожелания к кандидату:
- Опыт работы DE от 2-х лет;
- Знание Python и SQL;
- Опыт проектирования и разработки промышленной DWH;
- Опыт оркестрации ETL на Airflow или аналогах;
- Знания MySQL/PostgreSQL/MSSQL;
Будет преимуществом:
- Навыки в работе с аналитическими BD;
- Понимание принципов потоковой обработки данных;
- Облачные технологии.
- Навыки работы с BI-системами.
Мы предлагаем:
- Работу на территории уникальной природной зоны в Красной поляне
- Корпоративный трансфер, питание;
- Скидки на услуги курорта в кафе/ресторанах/магазинах и развлекательных объектах на территории курорта;
- Обучение, тренинги и возможности для профессионального и карьерного роста;
- Проживание на льготных условиях в 5 минутах от рабочего места;
- Бесплатный ски-пасс на все канатные дороги курорта;
- До 200 000 руб. гросс + квартальные премии;
- Походы в горы, катание на сноуборде, горных лыжах.
Если тебе интересно присоединиться к команде, напиши, обсудим подробности - @mashasaiman
Не забудь уточнить, что ты из @datasciencejobs