安全圈 | 专注于最新网络信息安全讯息新闻

首页

我們在360如何使用python

作者 gigliotti 时间 2020-03-03
all

打算寫這樣一個系列,說說我們在360裡面,如何使用Python。在360,除非是需要包含在360用戶端軟體當中的功能,科技人員使用什麼語言進行開發,更多的是一種個人,最多是項目團隊的决定。囙此我們的同事會使用php寫頁面,用python的工具,用c/ c++寫模塊,甚至用易語言寫介面。

也正是因為這個原因,雖然這個標題寫得很大,但其實我也只能寫一下我所在的團隊如何使用Python。我們目前有Python程式碼約6萬行,程式運行在Linux下,使用Python2.5和Python 2.7環境。

這6萬行Python程式碼被被分成80餘個項目進行組織。每個項目提供一個或一組完整的功能集合,每個項目都有自己的setup.py檔案用來將項目程式碼打包成Python發佈包(Distribution),部分項目還有自動檔案生成,我們使用的是Sphinx和reST格式的文字。打包好的Python包被發佈到我們自己搭建的內網的與pypi.python.org相容的私有pypi服務器上,而檔案保存在內網的類似於readthedocs的服務器上。

後臺團隊的程式碼主要運行我們自己的Linux伺服器集群上,開發和部署的成本比較低,囙此我們使用比較敏捷的開發流程。流程大體上可以分為下麵幾個步驟:

熟悉Python的朋友們可能看到這些名詞和包都很熟悉,因為我們所使用的都是業界廣泛使用的開發、測試和運維的工具。但這些工具很多都適合於開源軟件(Open Source Software)而非私有軟件(Proprietary Software),例如distribute與pypi.python.org的結合是天衣無縫的,Sphinx和readthedocs也是很容易結合,但是作為一個私有軟件,我們無法將程式碼和檔案放到pypi或readthedocs上面。為此我們幾乎複製了整套的基礎架構,包括pypi服務,readthedocs服務等,後續我會介紹我們如何做到這點的。希望這個系列對於其他正在使用Python開發私有軟件的同仁能有些幫助。

[to be continue]

作者ftofficer|張聰發表於2012-11-13 02:20:31,添加在分類後臺科技下,最後修改於2018-08-14 06:59:21

ftofficer|张聪 后台技术