欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyCharm使用Docker鏡像搭建Python開發(fā)環(huán)境

 更新時間:2019年12月26日 10:06:24   作者:山陰少年  
這篇文章主要介紹了PyCharm使用Docker鏡像搭建Python開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在我們平時使用PyCharm的過程中,一般都是連接本地的Python環(huán)境進行開發(fā),但是如果是離線的環(huán)境呢?這樣就不好搭建Python開發(fā)環(huán)境,因為第三方模塊的依賴復(fù)雜,不好通過離線安裝包的方式安裝。本文將介紹如何利用PyCharm來連接Docker鏡像,從而搭建Python開發(fā)環(huán)境。

首先,我們需要準(zhǔn)備一下工具:

  • PyCharm專業(yè)版
  • Docker

我們用一個示例項目來演示在PyCharm中如何利用Docker鏡像搭建Python開發(fā)環(huán)境。項目的截圖如下:


注意到,在該項目中還沒有設(shè)置Python開發(fā)環(huán)境,External Libraries為空,到時候我們將用Docker中的Python環(huán)境作為該項目的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。接著我們運行build.sh腳本,內(nèi)容如下:

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。在系統(tǒng)的設(shè)置界面中,選擇“Project Interpreter”,點擊“Project Interpreter”右側(cè)的小齒輪,選擇“Add”,截圖如下:


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

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


出現(xiàn)該圖表示連接Docker鏡像成功,同時能看到該Python環(huán)境安裝的第三方模塊。

最后我們再測試一下該Python環(huá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的運行結(jié)果正常,這說明Python開發(fā)環(huán)境真的可以使用了。

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 對python使用http、https代理的實例講解

    對python使用http、https代理的實例講解

    今天小編就為大家分享一篇對python使用http、https代理的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python解析網(wǎng)頁源代碼中的115網(wǎng)盤鏈接實例

    Python解析網(wǎng)頁源代碼中的115網(wǎng)盤鏈接實例

    這篇文章主要介紹了Python解析網(wǎng)頁源代碼中的115網(wǎng)盤鏈接實例,主要采用了正則表達式re模塊來實現(xiàn)該功能,需要的朋友可以參考下
    2014-09-09
  • python openpyxl提取Excel圖片實現(xiàn)原理技巧

    python openpyxl提取Excel圖片實現(xiàn)原理技巧

    在這篇文章中,將介紹如何使用openpyxl來提取Excel中的圖片,以及它的原理和技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • python使用collections模塊的容器數(shù)據(jù)類型高效處理數(shù)據(jù)

    python使用collections模塊的容器數(shù)據(jù)類型高效處理數(shù)據(jù)

    這篇文章主要為大家介紹了python使用collections模塊的容器數(shù)據(jù)類型高效處理數(shù)據(jù)的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • SpringBoot中的@MessageMapping注解詳解

    SpringBoot中的@MessageMapping注解詳解

    這篇文章主要介紹了SpringBoot中的@MessageMapping注解詳解,Spring Boot 提供了對 WebSocket 的支持,其中 @MessageMapping 注解是一個常用的注解,它可以將一個 Java 方法標(biāo)記為 WebSocket 的消息處理器,需要的朋友可以參考下
    2023-08-08
  • python字符串的一些常見實用操作

    python字符串的一些常見實用操作

    字符串是Pyhon常用的數(shù)據(jù)類型,我們可以用引號來創(chuàng)建字符創(chuàng)(可以是單引號也可以是雙引號,當(dāng)然引號必須是英文的),這篇文章主要給大家介紹了關(guān)于python字符串的一些常見實用操作,需要的朋友可以參考下
    2022-04-04
  • 關(guān)于Django使用 django-celery-beat動態(tài)添加定時任務(wù)的方法

    關(guān)于Django使用 django-celery-beat動態(tài)添加定時任務(wù)的方法

    本文給大家介紹Django使用 django-celery-beat動態(tài)添加定時任務(wù)的方法,安裝對應(yīng)的是celery版本,文中給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-10-10
  • Python實戰(zhàn)小游戲飛機大戰(zhàn)詳解

    Python實戰(zhàn)小游戲飛機大戰(zhàn)詳解

    飛機大戰(zhàn)想必是很多人童年時期的經(jīng)典游戲,我們依舊能記得抱個老人機娛樂的場景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個簡單的飛機大戰(zhàn)小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Java多線程編程中ThreadLocal類的用法及深入

    Java多線程編程中ThreadLocal類的用法及深入

    這篇文章主要介紹了Java多線程編程中ThreadLocal類的用法及深入,嘗試了自己實現(xiàn)一個ThreadLocal類以及對相關(guān)的線程安全問題進行討論,需要的朋友可以參考下
    2016-06-06
  • python 如何將帶小數(shù)的浮點型字符串轉(zhuǎn)換為整數(shù)

    python 如何將帶小數(shù)的浮點型字符串轉(zhuǎn)換為整數(shù)

    在python中如何實現(xiàn)將帶小數(shù)的浮點型字符串轉(zhuǎn)換為整數(shù)呢?今天小編就為大家介紹一下解決方案,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05

最新評論