内容简介:用Windows的朋友应该都体会过,Windows上做Python开发有多痛苦。用pip装库各种报错,然后每次都要花很多时间找解决办法,每次的心情都像这样之前我的解决方法是在Windows上装VMWare,VMWare上运行Ubuntu,然后在Ubuntu里面做开发。但这样也不太方便,每次进入开发环境都要先启动VMWare,再启动Ubuntu,然后打开命令行窗口开始开发,而且有时候需要在宿主机和虚拟机之间来回切换,也很麻烦。最近了解到Docker也有Windows的版本,于是就想到在windows上利用D
用Windows的朋友应该都体会过,Windows上做 Python 开发有多痛苦。用pip装库各种报错,然后每次都要花很多时间找解决办法,每次的心情都像这样
之前我的解决方法是在Windows上装VMWare,VMWare上运行Ubuntu,然后在Ubuntu里面做开发。但这样也不太方便,每次进入开发环境都要先启动VMWare,再启动Ubuntu,然后打开命令行窗口开始开发,而且有时候需要在宿主机和虚拟机之间来回切换,也很麻烦。
最近了解到 Docker 也有Windows的版本,于是就想到在windows上利用Docker运行一个Ubuntu镜像,在容器里搭建Python开发环境,这 样既解决了安装库的问题,也解决了VMWare虚拟机的不方便之处。
关于容器的基本使用,可以参考我之前的一篇文章Docker初体验。
需要注意的是,Windows上安装Docker对系统有以下的要求:
- 需要支持Hyper-V的windows版本,Hyper-V目前仅在Windows 10之后的版本支持
- BIOS里需要启用Virtualization(虚拟化)
如果你的系统满足上面的要求,接下来,我们来一步一步搭建环境。
安装Docker for Windows
安装程序可以从这里下载Docker for Windows
安装完之后,运行Docker for Windows。
Docker运行后可以在状态栏里看到有一个小鲸鱼的图标,如下所示
打开命令行窗口,运行下面的命令查看Docker版本
docker --version 复制代码
输出
Docker version 18.09.0, build 4d60db4 复制代码
下载镜像
docker hub上提供了很多docker镜像,我们以ubuntu:18.04为基础,打造我们的python开发环境。运行
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 复制代码
安装python3.6
apt install python3.6 ln -s /usr/bin/python3.6 /usr/bin/python 复制代码
安装pip
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\+$/
复制代码
好了,至此,我们的开发环境配置好了。
提交镜像
为方便以后的使用,我们把这个配置好的容器打成一个新的镜像。在容器中执行exit退出,我们现在来到了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个镜像了。下面一个是原始的docker hub上的ubuntu镜像,上面一个就是我们自己定制的镜像。
之后我们就可以基于我们定制的镜像,启动容器做开发了。启动容器很简单,只要运行
docker run -it fbf0ce58d00d bash 复制代码
需要注意的是,容器如果被删除了,其中的更改也会丢失。要保存容器中的更改,需要像上面这样把更改commit到镜像中。
好,以上就是定制的所有步骤。这两天我逐渐把项目迁移到容器里了,在容器里开发感觉比在虚拟机里开发顺滑多了。
为方便起见,上面这个镜像放在了我的docker hub上,大家可以通过下面的命令获取
docker pull shenzhongqiang/python-dev:version1 复制代码
如果大家有更好的Windows上配置Python开发环境的建议,也欢迎在评论里告诉我~
本文已同步更新到公众号【Python与数据分析】,欢迎关注~
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ordering Disorder
Khoi Vinh / New Riders Press / 2010-12-03 / USD 29.99
The grid has long been an invaluable tool for creating order out of chaos for designers of all kinds—from city planners to architects to typesetters and graphic artists. In recent years, web designers......一起来看看 《Ordering Disorder》 这本书的介绍吧!