Слишком болезненно заниматься разработкой Python в Windows? Докер узнать о

Python контейнер Docker Windows

Друзья, использующие Windows, должны были испытать на себе, насколько болезненно разрабатывать Python для Windows. Я использую pip для установки библиотеки, чтобы сообщать о различных ошибках, а затем каждый раз трачу много времени на поиск решений.

Мое решение раньше состояло в том, чтобы установить VMWare в Windows, запустить Ubuntu в VMWare, а затем разрабатывать в Ubuntu. Но это тоже неудобно, каждый раз при входе в среду разработки приходится сначала запускать VMWare, потом запускать Ubuntu, а потом открывать окно командной строки для начала разработки, а иногда нужно переключаться туда-сюда между хост-машиной и виртуальная машина, что тоже очень хлопотно.

Недавно я узнал, что Docker также имеет версию для Windows, поэтому я подумал об использовании Docker для запуска образа Ubuntu в Windows и сборки среды разработки Python в контейнере, что не только решает проблему установки библиотек, но и устраняет неудобства, связанные с Виртуальные машины VMWare.

Для базового использования контейнеров вы можете обратиться к моей предыдущей статье.Докер первый опыт.

Следует отметить, что установка Docker на Windows имеет следующие системные требования:

  • Требуется версия Windows, поддерживающая Hyper-V. В настоящее время Hyper-V поддерживается только в версиях после Windows 10.
  • Виртуализация должна быть включена в BIOS

Если ваша система соответствует вышеперечисленным требованиям, давайте шаг за шагом создадим среду.

Установить Докер для Windows

Установщик можно скачать отсюдаDocker for Windows

После установки запустите Docker для Windows.

После запуска Docker вы можете увидеть маленький значок кита в строке состояния, как показано ниже.

Откройте окно командной строки и выполните следующую команду, чтобы проверить версию Docker.

docker --version

вывод

Docker version 18.09.0, build 4d60db4

Скачать зеркало

На Docker Hub доступно множество образов докеров Мы создаем нашу среду разработки Python на основе Ubuntu: 18.04. бегать

docker pull ubuntu:18.04

После скачивания проверим локальное зеркало и запустим

docker images

Вы можете увидеть следующий вывод

REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
ubuntu                      18.04               93fd78260bd1        6 days ago          86.2MB

Установите общие инструменты и Python

Запускаем контейнер, заходим в bash внутри контейнера и запускаем

docker run -it ubuntu:18.04 bash

Наш образ теперь представляет собой просто базовую систему ubuntu, и в ней нет многих инструментов, таких как ping, ifconfig, wget, vim и т. д., и нет python. Далее мы собираем их все вместе один за другим.

Так как зеркало по умолчанию использует официальный источник ubuntu, очень медленно подключается официальный источник из Китая.Сначала меняем источник на источник 163. Измените содержимое /etc/apt/sources.list на следующее

deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

бегать

apt update

Затем установите такие инструменты, как ping, wget, ifconfig, vim и т. д.

apt install iputils-ping wget net-tools vim

Установить питон3.6

apt install python3.6
ln -s /usr/bin/python3.6 /usr/bin/python

установить пункт

apt install python3-pip

настроить vim

После установки инструментов настроим vim. Откройте файл ~/.vimrc и введите конфигурацию vim. Например, моя конфигурация такая

set ru
syntax on
set background=dark
set sw=4
set ts=4
set tabstop=4
set shiftwidth=4
set expandtab
filetype plugin on
set autoindent
set smartindent
set number
set viminfo='10,\"100,:20,%,n~/.viminfo
function! ResCur()
    if line("'\"") <= line("$")
        normal! g`"
        return 1
    endif
endfunction

augroup resCur
    autocmd!
    autocmd BufWinEnter * call ResCur()
augroup END

highlight WhiteSpaces ctermbg=green guibg=#55aa55
match WhiteSpaces /\s\+$/

Что ж, на данный момент наша среда разработки настроена.

зафиксировать изображение

Для удобства дальнейшего использования мы превращаем этот настроенный контейнер в новый образ. Выполните выход в контейнере, и теперь мы находимся в окне командной строки Windows. Давайте посмотрим на контейнер, который мы только что настроили и запустили.

docker ps -a

вывод

CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS                      PORTS               NAMES
39ca895c725e        ubuntu:18.04                "bash"              3 hours ago         Exited (0) 19 seconds ago                       relaxed_wiles

Выполните следующую команду, чтобы зафиксировать изменения и упаковать контейнер в новый образ.

docker commit 39ca895c725e shenzhongqiang/python-dev:version1

Давайте еще раз взглянем на местное зеркало

docker images

вывод

REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
shenzhongqiang/python-dev   version1            fbf0ce58d00d        2 minutes ago       542MB
ubuntu                      18.04               93fd78260bd1        6 days ago          86.2MB

Как видите, теперь у нас есть 2 зеркала локально. Нижний — это образ ubuntu на оригинальном докер-хабе, а верхний — наш собственный настроенный образ.

После этого мы можем запустить контейнер для разработки на основе нашего настроенного образа. Запустить контейнер так же просто, как запустить

docker run -it fbf0ce58d00d bash

Следует отметить, что при удалении контейнера изменения в нем также будут утеряны. Чтобы сохранить изменения в контейнере, вам необходимо зафиксировать изменения в образе, как указано выше.

Хорошо, это все для шагов настройки. За последние два дня я постепенно перенес проект в контейнер, разработка в контейнере кажется намного более плавной, чем разработка в виртуальной машине.

Для удобства изображение выше размещено на моем докер-хабе, получить его можно следующей командой

docker pull shenzhongqiang/python-dev:version1

Если у вас есть лучшие предложения по настройке среды разработки Python в Windows, сообщите мне об этом в комментариях~

Эта статья была синхронно обновлена ​​​​в общедоступной учетной записи [Python и анализ данных], пожалуйста, обратите внимание ~