PyCharm使用之利用Docker镜像搭建Python开发环境
在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装。本文将介绍如何利用PyCharm来连接Docker镜像,从而搭建Python开发环境。
首先,我们需要准备一下工具:
- PyCharm专业版
- Docker
我们用一个示例项目来演示在PyCharm中如何利用Docker镜像搭建Python开发环境。项目的截图如下:

注意到,在该项目中还没有设置Python开发环境,External Libraries为空,到时候我们将用Docker中的Python环境作为该项目的Python开发环境。
第一步,我们需要制作Docker镜像,该镜像的Dockerfile文件(python_dev.build)如下:
FROM centos:7.2.1511
# author label
LABEL maintainer="jclian"
# install related packages
ENV ENVIRONMENT DOCKER_PROD
RUN cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& yum makecache \
&& yum install -y wget aclocal automake autoconf make gcc gcc-c++ python-devel mysql-devel bzip2 libffi-devel epel-release \
&& yum clean all
# install python 3.7.0
RUN wget https://npm.taobao.org/mirrors/python/3.7.0/Python-3.7.0.tar.xz \
&& tar -xvf Python-3.7.0.tar.xz -C /usr/local/ \
&& rm -rf Python-3.7.0.tar.xz \
&& cd /usr/local/Python-3.7.0 \
&& ./configure && make && make install
# install related packages
RUN yum install -y python-pip \
&& yum install -y python-setuptools \
&& mkdir -m 755 -p /etc/supervisor/conf.d \
&& yum install -y supervisor \
&& pip3 install --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& pip3 install setuptools==33.1.1 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& pip3 install jieba -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& pip3 install tornado==5.1.1 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com \
&& yum clean all
# expost port
EXPOSE 15731
在这个CentOS系统中,我们安装了Python3.7.0,同时又安装了两个第三方模块jieba和tornado。接着我们运行build.sh脚本,内容如下:
TIMENOW=`date +%y.%m.%d.%H%M`
# 进行docker镜像打包
# -f 指定文件 , -t 指定生成镜像名称 , 冒号后为版本号 ,例子 : docker_package:17.08.01.1311
docker build -f python_env.build -t python_env:${TIMENOW} .
运行后,我们生成的Docker镜像名称为:python_env:19.12.25.0008。
接着我们在Python中使用Docker镜像配置Python Interpreter。在系统的设置界面中,选择“Project Interpreter”,点击“Project Interpreter”右侧的小齿轮,选择“Add”,截图如下:

在弹出的界面中,选择“Docker”,右侧的Server一般默认为本地的Docker,等待一会儿它会提示连接成功,当然你也可以选择远程服务器的Docker,这个设置这里不再讲述。连接Docker成功后,选择“Image name”,这里选择我们刚打好的Docker镜像python_env,“Python interpreter path”为容器中的Python路径,我们这里输入“/usr/local/Python-3.7.0/python”,如下图所示:

点击“OK”键,等待一会儿,然后弹出的界面如下:

出现该图表示连接Docker镜像成功,同时能看到该Python环境安装的第三方模块。
最后我们再测试一下该Python环境是否能进行开发,示例的Python代码(f_write.py)如下:
# -*- coding: utf-8 -*-
# author: Jclian91
# place: Pudong Shanghai
# time: 12:04 上午
import jieba
if __name__ == '__main__':
sent = '三亚的风景很不错,一派南国风光。'
print(list(jieba.cut(sent)))
输出结果如下:

可以看到,Python的运行结果正常,这说明Python开发环境真的可以使用了。
本次分享到此结束,感谢大家的阅读。该演示项目已经分享至Github,网址为:https://github.com/percent4/Docker_env_test 。
注意:不妨了解下笔者的微信公众号: Python爬虫与算法(微信号为:easy_web_scrape), 欢迎大家关注~
PyCharm使用之利用Docker镜像搭建Python开发环境的更多相关文章
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- Windows搭建python开发环境,python入门到精通[一]
从大学开始玩python到现在参加工作,已经有5年了,现在的公司是一家.net的公司用到python的比较少,最近公司有新项目需要用到python,领导希望我来跟其他同事training,就有了这篇博 ...
- Ubuntu系统下搭建Python开发环境
之前演示了在Windows中安装Pycharm,很简单.下面介绍一下如何在Ubuntu中安装Pycharm 1.更新Python至3.5.1,执行以下命令: sudo add-apt-reposito ...
- Eclipse和PyDev搭建python开发环境
Eclipse和PyDev搭建python开发环境 1.1整体目标 本文档作为python学习者的新手教程,通过本教程能够了解python用途.语法.在实际工作中的应 ...
- Windows搭建python开发环境
python你不去认识它,可能没什么,一旦你认识了它,你就会爱上它 基本概念Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum ...
- 使用Docker快速搭建PHP开发环境
最近有个同事找过来,希望我对在很早之前写的一个PHP网站上增加一些功能,当时开发使用xampp构建的本地开发环境,但是现在我的笔记本电脑已经更新,没有当时的开发环境.本着尽量不往电脑上装无用软件的原则 ...
- 【转】使用Eclipse搭建Python开发环境
因为要进行自动化测试,所以要搭建Python开发环境.这里将使用Eclipse+pyDev进行搭建,在此作为笔记记录下来. 需要的组件: 1.Eclipse SDK 3.7(这里将不再叙述Eclips ...
- [转]在Eclipse中搭建Python开发环境
在Eclipse中搭建Python开发环境 来自: http://hi.baidu.com/hqwfreefly/blog/item/2543181d0afd9604314e150e.html 前言 ...
- 腾讯云-搭建 Python 开发环境
搭建 Python 开发环境 准备工作 任务时间:5min ~ 10min Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.首先我们来看看系统中是否已经存在 Python ,并安装 ...
随机推荐
- Django项目:CRM(客户关系管理系统)--64--54PerfectCRM实现CRM客户报名链接
# kingadmin.py # ————————04PerfectCRM实现King_admin注册功能———————— from crm import models #print("ki ...
- 通过media媒体查询设置ie7/8样式、使用media判断各机型、手淘flexible.js
@media all and (min-width:1280px){ /* 所有设备宽度大于1280干嘛干嘛嘞... */ body{ background:#f00; } } @media (min ...
- React 组件&Props
组件&Props 组件&Props 组件可以将UI切分成一些独立的.可复用的部件,这样你就只需要专注于构建每一个单独的组件. 组件从概念上看就像是函数,它可以接受任意的输入值(称之为& ...
- dubbo入门学习(二)-----dubbo hello world
一.dubbo hello world入门示例 1.提出需求 某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址: 我们现在需要创建两个服务模块进行测试: 模块 功能 订单服务web模块 创 ...
- Jmeter环境搭建及目录介绍
Jmeter环境搭建及目录介绍 运行环境:jmeter是基于java语言的,所有需要准备Java的JDK环境,并添加到环境变量中. 一.环境搭建及配置 1.JMeter的下载: 官网:http://j ...
- leetcode 843. Guess the Word
我做过的第一个 interactive problem 给一个候选词列表,每次猜测可以猜里面的词,会返回猜中匹配的个数, 可以猜10次, 加上随机化策略之后几乎可以一定通过测试(尽管不是100%) c ...
- VC++ ComBox下拉菜单看不到值
在使用ComBox的时候,我是预先在属性页里面添加了数据的.但是在运行程序是发现,点击下拉时,一个值都看不到! 如图: 在这:http://blog.csdn.net/nma_123456/artic ...
- Blow up the city
Blow up the city 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Country A and B are at war. Country A needs to organ ...
- Hibernate - HHH000352: Unable to release batch statement
这是hibernate的一个bug,具体看https://hibernate.atlassian.net/browse/HHH-11732?attachmentViewMode=list When u ...
- mac 终端 常用命令,MacOS 常用终端命令大全,mac 在当前目录打开终端
MacOS 常用终端命令大全:目录操作dircmp——比较两个目录的内容——dircmp dir1 dir2文件操作pg分页格式化显示文件内容——pg filenameod——显示非文本文件的内容—— ...