PyCharm使用Docker鏡像搭建Python開發(fā)環(huán)境
在我們平時使用PyCharm的過程中,一般都是連接本地的Python環(huán)境進(jìn)行開發(fā),但是如果是離線的環(huán)境呢?這樣就不好搭建Python開發(fā)環(huán)境,因?yàn)榈谌侥K的依賴復(fù)雜,不好通過離線安裝包的方式安裝。本文將介紹如何利用PyCharm來連接Docker鏡像,從而搭建Python開發(fā)環(huán)境。
首先,我們需要準(zhǔn)備一下工具:
- PyCharm專業(yè)版
- Docker
我們用一個示例項(xiàng)目來演示在PyCharm中如何利用Docker鏡像搭建Python開發(fā)環(huán)境。項(xiàng)目的截圖如下:

注意到,在該項(xiàng)目中還沒有設(shè)置Python開發(fā)環(huán)境,External Libraries為空,到時候我們將用Docker中的Python環(huán)境作為該項(xiàng)目的Python開發(fā)環(huán)境。
第一步,我們需要制作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系統(tǒng)中,我們安裝了Python3.7.0,同時又安裝了兩個第三方模塊jieba和tornado。接著我們運(yùn)行build.sh腳本,內(nèi)容如下:
TIMENOW=`date +%y.%m.%d.%H%M`
# 進(jìn)行docker鏡像打包
# -f 指定文件 , -t 指定生成鏡像名稱 , 冒號后為版本號 ,例子 : docker_package:17.08.01.1311
docker build -f python_env.build -t python_env:${TIMENOW} .
運(yùn)行后,我們生成的Docker鏡像名稱為:python_env:19.12.25.0008。
接著我們在Python中使用Docker鏡像配置Python Interpreter。在系統(tǒng)的設(shè)置界面中,選擇“Project Interpreter”,點(diǎn)擊“Project Interpreter”右側(cè)的小齒輪,選擇“Add”,截圖如下:

在彈出的界面中,選擇“Docker”,右側(cè)的Server一般默認(rèn)為本地的Docker,等待一會兒它會提示連接成功,當(dāng)然你也可以選擇遠(yuǎn)程服務(wù)器的Docker,這個設(shè)置這里不再講述。連接Docker成功后,選擇“Image name”,這里選擇我們剛打好的Docker鏡像python_env,“Python interpreter path”為容器中的Python路徑,我們這里輸入“/usr/local/Python-3.7.0/python”,如下圖所示:

點(diǎn)擊“OK”鍵,等待一會兒,然后彈出的界面如下:

出現(xiàn)該圖表示連接Docker鏡像成功,同時能看到該P(yáng)ython環(huán)境安裝的第三方模塊。
最后我們再測試一下該P(yáng)ython環(huán)境是否能進(jìn)行開發(fā),示例的Python代碼(f_write.py)如下:
# -*- coding: utf-8 -*- # author: Jclian91 # place: Pudong Shanghai # time: 12:04 上午 import jieba if __name__ == '__main__': sent = '三亞的風(fēng)景很不錯,一派南國風(fēng)光。' print(list(jieba.cut(sent)))
輸出結(jié)果如下:

可以看到,Python的運(yùn)行結(jié)果正常,這說明Python開發(fā)環(huán)境真的可以使用了。
本次分享到此結(jié)束,感謝大家的閱讀。該演示項(xiàng)目已經(jīng)分享至Github,網(wǎng)址為:https://github.com/percent4/Docker_env_test
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python編寫MySQL數(shù)據(jù)庫備份腳本
這篇文章主要為大家詳細(xì)介紹了一個使用Python編寫的MySQL數(shù)據(jù)庫備份腳本,包含壓縮,日志記錄和自動清理舊備份功能,有需要的可以參考一下2025-06-06
Pycharm代碼無法復(fù)制,無法選中刪除,無法編輯的解決方法
今天小編就為大家分享一篇Pycharm代碼無法復(fù)制,無法選中刪除,無法編輯的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
DES加密解密算法之python實(shí)現(xiàn)版(圖文并茂)
這篇文章主要介紹了DES加密解密算法之python實(shí)現(xiàn)版,圖文并茂的為大家分享一下,需要的朋友可以參考下2018-12-12
使用Python合成圖片的實(shí)現(xiàn)代碼(圖片添加個性化文本,圖片上疊加其他圖片)
這篇文章主要介紹了使用Python合成圖片的實(shí)現(xiàn)代碼(圖片添加個性化文本,圖片上疊加其他圖片),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
使用Python裝飾器在Django框架下去除冗余代碼的教程
這篇文章主要介紹了使用Python裝飾器在Django框架下去除冗余代碼的教程,主要是處理JSON代碼的一些冗余,需要的朋友可以參考下2015-04-04
tensorflow: variable的值與variable.read_value()的值區(qū)別詳解
今天小編就為大家分享一篇tensorflow: variable的值與variable.read_value()的值區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07

