1. 程式人生 > >Python環境搭建、python專案以docker映象方式部署到Linux

Python環境搭建、python專案以docker映象方式部署到Linux

開發十年,就只剩下這套架構體系了! >>>   

        本文的專案是用Python寫的,記錄了生成docker映象,然後整個專案在Linux跑起來的過程:

 

1、windows中Python環境搭建以及pycharm的安裝和配置,用以開發Python專案

這個其實很簡單,我從網路上找了一些資源,以下是截圖(這塊是轉的)

(一).python環境的搭建

(1).下載python(這裡以python3.6為例)

    step 1:開啟下載網址:https://www.python.org/downloads/windows/

    step 2:我這裡選著python3的版本

step 3:選擇python的可執行檔案安裝包

(2).安裝python(這裡以python3.6為例)
    step 1:下載完成後就可以安裝了,基本傻瓜式安裝,不過要強調幾點,如下圖(python3.6已經可以自動新增環境變數                     如果你要安裝python2那麼你手動配置環境變數,具體方法自行百度,這裡不做贅述!)

 step 2:安裝完成後,我們來檢查一下python是否安裝成功,開啟cmd命令,輸入python,回車,若顯示類似下圖,證明環境搭建完成。

 step 3:測試輸出hello world,從開始選單開啟python自帶的IDE,輸入如下程式碼,然後回車。

至此,我們的python環境搭建完成。

(二).pycharm的安裝與配置

(1).pycharm的下載

    step 1:開啟下載網址:http://www.jetbrains.com/pycharm/

    step 2:點選下載按鈕。

step 3:專業版是收費的,社群版是免費的,並且社群版新手使用足夠,我們這裡下載社群版。

(2).pycharm的安裝

    pycharm的安裝依然是傻瓜化安裝,基本一路next,這裡只強調一點

step 2:接下來是一些按照順序擺放的配置圖片。完成pycharm的基本配置

(4).pycharm的python直譯器的搭建

    同樣,接下來是一些按照順序擺放的配置圖片。完成pycharm的python直譯器的搭建

(5).pycharm的建立一個新專案

首先開啟pycharm,接下來是一些按照順序擺放的配置圖片。完成pycharm的一個專案建立。

至此,pycharm已經全部安裝完成。

 

pycharm中安裝元件的方法:

Python中安裝bs4後,pycharm報錯ModuleNotFoundError: No module named 'bs4'

如果此時使用pycharm執行程式碼,在引用bs4 “frombs4 import BeautifulSoup”時還會報錯“ModuleNotFoundError: Nomodule named 'bs4'.” 未找到名為bs4的模組,這時需要在Pycharm上安裝bs4模組來解決,解決方法如下:
1.    File– Setting

 Project:Python – Project Interperter

在該頁面下會顯示執行專案預設的python版本,如圖我設定的python版本是python3.6;

還會顯示在pycharm上安裝的模組,如果執行專案時報錯“找不到bs4”,應該是不會顯示bs4這個模組的,我安裝過,所以會顯示。

Install

點選介面右側的+號,可以開啟安裝模組介面,在該介面下可以直接搜尋並安裝相應模組,輸入bs4,搜尋到對應結果,選擇安裝模組。

 安裝完成

安裝完成後在介面下方會提示“Package‘bs4’ install successfully”

 

2、Linux中Python3環境搭建

下載與解壓,我這邊對應的Python專案所需要的版本,裝的是3.7.2

[root@localhost ~]#wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz 
[root@localhost ~]#tar -xzvf Python-3.7.2.tgz 

然後重新命名解壓後的資料夾為python3

Python環境搭建成功

 

3、Python專案Dockerfile準備

我的Python專案結構如下:

平時在pycharm裡面執行該工程,只要直接執行job.py檔案即可。目標是把Python專案放到Linux系統,以docker映象方式使用容器啟動。

 

4、cmd進入py專案目錄,通過pip命令,生成整個Python專案所需要的環境的包放到requirements.txt

#在當前目錄把Python所依賴的元件,列在requirements.txt檔案中
pip freeze > requirements.txt

生成後的requirements.txt內容如下:

 

5、建立上傳到Linux系統的目錄,含有原py專案目錄,以及Dockerfile

我的做法是,是在workspace中,建一個專門的目錄docker_py

 

進入docker_py,可以看到py專案和Dockerfile檔案,py專案是拷貝過來的

 

然後把docker_py目錄打zip包,上傳至Linux,至於Dockerfile的內容,建議不要在windows編輯,因為在windows編輯,會帶有windows的符號,直接在Linux在編輯,或者整個Dockerfile檔案也在Linux環境在通過touch方式建立,再編寫也OK。

通過命令

rz

  上傳  docker_py.zip  到 /data/docker/py_app 目錄,然後把zip解壓到當前目錄

unzip docker_py.zip

 

進入docker_py,編寫Dockerfile內容

#基於的基礎映象
FROM python:3.7

#程式碼新增到code資料夾,後面可以通過進入容器中看的
ADD ./py /code

# 設定code資料夾是工作目錄
WORKDIR /code

# 安裝支援
RUN pip install -r requirements.txt

#當容器啟動時,使用python3執行指定路徑的py指令碼
CMD ["python3", "/code/venv/Include/job.py"]

 

6、Linux中把Dockerfile生成映象

Linux進入docker_py目錄,然後docker方式生成映象

# py_app為建立的映象名稱,. 表示以當前目錄的內容生成(docker_py)
docker build -t py_app:2 .

看到上面截圖,則映象構建成功,我們校驗一下:

docker images

看到py_app映象已經成功了

 

7、Linux中docker_compose方式執行映象,到Python專案跑起來

進入py_app目錄,新建 docker-compose.yml 檔案

py:
  image: py_app:2
  ports:
    - "8090:9060"
  restart: always

docker-compose.yml編排檔案中,image需要與前面構建的映象名稱和版本一致,然後啟動專案

[root@localhost py_app]# docker-compose up -d py

至此,搞定了

 

8、解釋下前面Dockerfile設定的工作目錄,可以進入容器看