Flask 部署和分發(fā)

2021-07-02 13:59 更新

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

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號