Друзья, использующие 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 и анализ данных], пожалуйста, обратите внимание ~