Skip to content

Курс по анализу данных для skillbox

Notifications You must be signed in to change notification settings

Dju999/data_analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Рабочее окружение для анализа данных

Подготовка машины к работе

Описание рабочей среды

Занятия будут проходить в ОС Ubuntu 18.04 LTS. Установка необходимых баз данных (Mongo, Postgres, Redis, etc.) с помощью утилиты виртуализации Docker.

Перед работой с командной строкой обновим список пакетов - нужно выполнить в консоли команду:

sudo apt-get update && sudo apt-get -y upgrade

Эта команда обновит пакетный менеджер apt-get. После этого установить менеджер пакетов pip и вспомогательные утилиты (unzip, git). Пакет pip - это менеджер пакетов python, его помощью можно будет устанавливать python библиотеки. Утилита unzip - программа для распаковки архивов.:

sudo apt-get install python-pip unzip git

Теперь скачиваем репозиторий курса

git clone https://github.com/Dju999/data_analysis.git

Установка docker

Для проверки установки выполним команду

docker run hello-world

Если не получилось - установим docker, согласно Инструкции тут

Кроме докера поставим docker-compose

sudo apt-get install docker-compose

Подготовка завершена! Один раз проделав этот пункт, можно к нему больше не возвращаться

Работа c репозиторием в Docker

Переходим в корневую директорию репозитория

cd data_analysis

Запускаем сборку контейнера, консоли побежит информация об установке системных пакетов.

docker build -t ds_docker:latest .

Запускаем сборку окружения pipenv

docker run --volume $(pwd)/app:/www/app -it --rm ds_docker:latest pipenv

В результате в репозитории появится окружение .venv, в котором будут запускаться ноутбуки. Выхлоп команды:

Installing dependencies from Pipfile.lock (5fe059)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 54/54 — 00:00:25
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

Запускаем сеанс jupyter notebook:

docker run --volume $(pwd)/app:/www/app -it --rm ds_docker:latest jupyter

Выхлоп консоли

[I 04:34:40.569 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[I 04:34:40.766 NotebookApp] Serving notebooks from local directory: /www/app
[I 04:34:40.766 NotebookApp] The Jupyter Notebook is running at:
[I 04:34:40.766 NotebookApp] http://(970e0486f4cb or 127.0.0.1):8888/?token=490f1634bc9aac268b637e69ff284c28fddab00404914b40

Для проверки открываем в браузере страницу, на которой будт форма для ввода токена

http://127.0.0.1:8889

После ввода токена будет запущен сеанс Jupyter Notebook.

Решение проблем с docker

Если контейнер не стартует с ошибкой

docker: Error response from daemon: Conflict. The container name "/netology-postgres" is already in use by container "2a99cb6629b78e7b5b6747a9bd453263940127909d91c8517e9ee0b230e60768". You have to remove (or rename) that container to be able to reuse that name.

То контейнер уже создан и можно стартовать его

sudo docker start 2a99cb6629b78e7b5b6747a9bd453263940127909d91c8517e9ee0b230e60768

Если не помогло - надо бы остановить все запущенные докер-образы и удалить их

docker stop $(sudo docker ps -a -q)
docker rm $(sudo docker ps -a -q)

Удаление всех образов

docker rmi $(docker images -q)

Параметры docker run, остальные параметры тут

--name - Assign a name to the container

-d, --detach - Run container in background and print container ID

-e - устанавливаем переменную среды

-it - запустить интеракцивный терминал

About

Курс по анализу данных для skillbox

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published