1. 程式人生 > 程式設計 >PyCharm使用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開發環境真的可以使用了。

本次分享到此結束,感謝大家的閱讀。該演示專案已經分享至Github,網址為:https://github.com/percent4/Docker_env_test

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。