docker配置python环境_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开发环境真的可以使用了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
docker配置python环境_PyCharm使用Docker镜像搭建Python开发环境相关推荐
- ubuntu vscode 配置字体_第五章 Ubuntu搭建ESP32开发环境(vscode)
Vscode安装 ubuntu软件中自带vscode的安装包,一键完成,不废话,没有的想办法解决. 编译链操作 下载 官方最新地址 有系统区别,下载对应的压缩到到电脑 · for 64-bit Lin ...
- 使用PHP环境一键安装包快速搭建PHP开发环境
在Windows系统下如何搭建PHP开发环境? 为了快速进入编程状态,顺利地完成第一个PHP程序,我们选择使用PHP集成环境包. 什么是PHP集成环境包?类似的软件又有哪些呢? 要回答这个问题,我们需 ...
- ubuntu java 开发环境_详解ubuntu搭建Java开发环境
没有用Java写过程序,做为一个Java新手,在写第一个Hello,world程序之前,先在Ubuntu中搭建Java开发环境. 本文结构: 一.JDK安装 二.MyEclipse安装 三.Hello ...
- win10搭建java开发环境_如何在WIN10搭建Java开发环境
展开全部 工具/原料: WINDOWS10 Java SE:jdk-8u60-windows-x64.EXE 1.下载JAVA SE,下载地址请到oracle官方网站下载.本人电脑是64位的62616 ...
- 【python爬虫】Pycharm+Scrapy+win10搭建scrapy开发环境+运行一个Demo
准备工作 基础环境准备 win10 pycharm python3(同时保证有pip环境) scrapy环境准备 打开网址https://www.lfd.uci.edu/~gohlke/pythonl ...
- java开发环境怎样选择_怎样搭建Java开发环境?
hyl_666 1.设置系统环境参数: 1)右击"我的电脑",选"属性". 2)选择"高级"选项卡,点击"环境变量 ...
- 阿里云ECS搭建ESP32开发环境
陈拓 2021/01/29-2021/02/03 1. 概述 在<用乐鑫国内Gitee镜像搭建ESP32开发环境> https://zhuanlan.zhihu.com/p/3481060 ...
- 乐鑫Esp32学习之旅② 巧用eclipes编辑器,官方教程在Windows下搭建esp32开发环境,打印 “Hello World”。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- java alsa 编程_搭建JavaWeb开发环境
更好的阅读体验欢迎访问博客搭建JavaWeb开发环境 前言 在服务器上搭建javaweb开发环境,特此记录 一.安装JDK 查看默认JDK java -version rpm -qa|grep jav ...
- RH850从0搭建Autosar开发环境系列讲解 - 总目录
总目录 大家好,本文章系列主要专注于Davinci工具基于RH850芯片从0构建Autosar开发环境,集成到GreenHills编译,最终在板子中运行代码,中间过程的编译错误处理都会尽可能的清晰展示 ...
最新文章
- 如何消除摄影中的运动模糊?
- Linux发行版上安装Netbeans IDE的各种方法
- mySQL教程 第10章 事务和锁
- console口有几个vlan_windows7 下如何通过consle线配置交换机、路由器?
- 文件服务器在哪里靠谱,vps作为文件服务器靠谱吗
- python list add_用Python创建List对象类
- WEB前端:浏览器(IE+Chrome+Firefox)常见兼容问题处理【01】
- ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作
- EF中报错:附加类型“xxxx”的实体失败,因为相同类型的其他实体已具有相同的主键值。
- 文件类常用方法 c# 1614531951
- 点云sift matlab,点云配准SIFT算法
- Java反射创建对象效率高还是通过new创建对象的效率高?
- 12306服务器无响应,12306网络无法连接502是什么意思
- 收藏了800道Java后端经典面试题,共享给大家
- ios12最后一个正式版_iOS12正式版
- 最专业的职业生涯规划测试集合(推荐)
- 2020,计算机哪些领域是这个行业未来发展的必然趋势
- Windows - 两台电脑共享磁盘 / 映射网络驱动器
- ping IP时出现TTL传输中过期
- HTML5七夕情人节表白网页_圣诞节3d相册(含音乐开关)_ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码