在我们平时使用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”,截图如下:

新增Interpreter

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

选择docker镜像

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

连接docker镜像成功

出现该图表示连接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的运行结果正常,这说明Python开发环境真的可以使用了。

注意:不妨了解下笔者的微信公众号: Python爬虫与算法(微信号为:easy_web_scrape), 欢迎大家关注~

docker搭建python开发环境_PyCharm使用之利用Docker镜像搭建Python开发环境相关推荐

  1. 华为云云容器快速搭建网站实践随记—利用私有镜像搭建GuestBook

    一.华为云云容器简单介绍: 云容器引擎 CCE 是基于 K8S 和 Docker 的企业级容器服务,为企业应用提供快速部署.自动化运维.弹性伸缩等容器生命周期管理能力. 这个实践是通过 docker ...

  2. 华为云云容器快速搭建网站实践随记—利用公有镜像搭建WordPress

    一.华为云云容器简单介绍: 云容器引擎 CCE 是基于 K8S 和 Docker 的企业级容器服务,为企业应用提供快速部署.自动化运维.弹性伸缩等容器生命周期管理能力. 这个实践是通过 docker ...

  3. CentOS Linux 使用系统镜像搭建本地 yum 源

    一.基础环境 操作系统:CentOS-7-x86_64-2009 二.适用场景 一般生产服务器处于内网环境中,无法连接互联网的公共 yum 源,当我们需要使用 yum 命令安装一些软件的时候,就需要我 ...

  4. 利用docker在arch-linux系统下安装酷Q机器人

    利用docker在arch-linux系统下安装酷Q机器人 安装docker sudo pacman -S docker 启动docker服务 sudo systemctl start docker. ...

  5. docker配置python环境_PyCharm使用Docker镜像搭建Python开发环境

    在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装.本 ...

  6. 在python中超简单安装mxnet_在Docker容器中搭建MXNet/Gluon开发环境

    在这篇文章中没有直接使用MXNet官方提供的docker image,而是从一个干净的nvidia/cuda镜像开始,一步一步部署mxnet需要的相关软件环境,这样做是为了更加细致的了解mxnet的运 ...

  7. pycharm配置python2.7.6环境_Pycharm配置Python工程开发环境

    定时触发函数的Python实现 一.使用场景: 定时触发器在生产环境经常用到,比如说定时load一段活动配置,定时做清理存储动作,定时检查进程运行健康状态,定时上报事件日志等. 定时触发器的实现原理, ...

  8. 多个php一个机器,如何利用docker在同一台机器上搭建多套php开发环境?

    首先是一个容器要包含完整的程序加依赖(出去中间件),拿 LNMP 举例子:docker 提供的是 Linux 环境,容器中要包含 Nginx 和 Php,然后再单独部署一个 MySQL 其次,如果多个 ...

  9. 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码

    Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...

  10. python可以用eclipse开发吗_Eclipse不是主要用来写Java么?Python也可以在eclipse上面写?Eclipse搭建Python开发环境...

    一.安装包准备: 1.JDK 2.eclipse 3.Python 二.安装与环境配置: 1.JDK 双击安装包进入安装,配置环境变量. 桌面>此电脑>右键属性>高级系统设置> ...

最新文章

  1. 随记:kickstart远程批量无人值守安装linux
  2. php单词出现频率,PHP计算文件或数组中单词出现频率
  3. Linux Kernel 3.8.8/3.4.41/3.0.74 发布
  4. Java技巧-解决JAVA_HOME变量无效问题
  5. linux挂载nfs显示nobady,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  6. 2017西安交大ACM小学期 毁灭序列[倒跑并查集]
  7. react事件处理函数中绑定this的bind()函数
  8. Magento 获取原价格和打折价格 get Special price or Regular Price in magento
  9. 【java】SpringBoot新特性 节省百分之95﹪内存占用
  10. Android打开App2SD
  11. 为什么说干实业的玩不过干金融的?
  12. python入门——P47魔法方法:定制序列
  13. ipad文件管理怎么添加服务器,ipad怎样建文件夹
  14. 管理观察杂志 管理观察
  15. 企业—pacemaker基本概念及其原理
  16. 毫米和像素怎么换算_像素和厘米怎么换算?
  17. 新唐单片机选型手册_Nuvoton新唐8位8051单片机选型指南
  18. 基因重组- 冲刺计划
  19. collect2: error: ld returned 1 exit status(Linux下Gcc编译问题)
  20. mysql 5.7.15-winx64_mysql 5.7.15 winx64安装配置方法

热门文章

  1. 【手势识别】基于matlab GUI肤色手势识别(带面板)【含Matlab源码 1650期】
  2. 【优化求解】基于matlab粒子群与遗传算法混合算法求解切削参数优化问题(以成本和碳排放量为目标函数)【含Matlab源码 1619期】
  3. 【TSP】基于matlab自重启伪遗传改良算法求解旅行商问题【含Matlab源码 1510期】
  4. sql server2008如何修改mac地址_QCC304x/QCC514x:修改蓝牙MAC地址及名称
  5. 什么是AsHelper
  6. ajax跨域.pdf,探秘ajax跨域请求.pdf
  7. 16进制发送 mqtt客户端调试工具_MQTT Simulate Device(MQTT客户端调试工具)下载 v1.0.7免费版-下载啦...
  8. 电脑qq浏览器怎么滚动截长图_电脑怎么快速截图?
  9. refprop用matlab,Matlab 调用 REFPROP(64位)下载即可用
  10. 计算机网络定义来源,计算机网络基础知识之计算机网络定义及其功能