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”,截圖如下:

新增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開發環境真的可以使用了。

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

注意:不妨了解下筆者的微信公眾號: Python爬蟲與算法(微信號為:easy_web_scrape), 歡迎大家關注~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM