Flask 部署和分發(fā)

2021-07-02 13:59 更新

distribute 的前身是 ?setuptools? ,是一個(gè)通常用于分發(fā) Python 庫(kù)和擴(kuò)展程序的外部庫(kù)。它依賴于隨 Python 預(yù)裝的 ?distutils? 庫(kù), 而后者則是一個(gè)基礎(chǔ)的模塊安裝系統(tǒng),這一安裝系統(tǒng)也支持很多復(fù)雜的構(gòu)造,使得 大型應(yīng)用更易于分發(fā)。

  • 支持依賴關(guān)系管理: 一個(gè)庫(kù)可以聲明自己依賴哪些軟件包,從而在安裝這個(gè) 模塊的時(shí)候,自動(dòng)將依賴的軟件包也安裝到您的計(jì)算機(jī)。
  • 注冊(cè)軟件包: setuptools 將您的包注冊(cè)到您的安裝的 Python 環(huán)境中。 這使得您可以使一個(gè)包中的代碼查詢另一個(gè)包所提供的信息。這一系統(tǒng)最知名的 特性就是對(duì)接口機(jī)制的支持,也就是說(shuō)一個(gè)包可以聲明自己的一個(gè)接口,從而允許 其他的包通過(guò)這個(gè)接口對(duì)自己進(jìn)行擴(kuò)展。
  • 安裝包管理器: easy_install 默認(rèn)隨 Python 安裝,它可以用于為您安裝其他 的庫(kù)。您也可以使用 pip 這個(gè)可能早晚會(huì)代替 easy_install 的包管理器,它能夠 完成安裝軟件包之外更多的任務(wù)。

而對(duì)于 Flask 自己,則所有您可以在 cheessshop 上找到的軟件包,都隨著 distribute 分發(fā)管理器,或者更古老的 setuptools 和 distutils 分發(fā)。

在這里,我們假定您的應(yīng)用名為 yourapplication.py ,而您沒(méi)使用模塊而是使用 package 的結(jié)構(gòu)來(lái)組織代碼。分發(fā)帶有標(biāo)準(zhǔn)模塊的 代碼不被 distribute 支持,所以我們不去管它。如果您還沒(méi)有將您的應(yīng)用轉(zhuǎn)化為包的形式, 請(qǐng)參考前文 大型應(yīng)用 的內(nèi)容查找如何做到這件事。

利用 distribute 完成一個(gè)有效的部署進(jìn)行更復(fù)雜和更自動(dòng)化的部署方案的第一步, 如果您使程序完全自動(dòng)化,可以閱讀 使用 Fabric 部署 這一章。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)