1. 程式人生 > >[django]專案打包構建

[django]專案打包構建

這是專案的檔案結構。

setuptools應該是對標準庫中的setup模組進行了封裝,看起來更好用一些。

打包過程

前提 安裝setuptools模組,一般都會安裝,因為pip的原因。

在project目錄下,新建一個setup.py 檔案。

#coding:utf-8
#package project

from setuptools import setup, find_packages

setup(
    name="apmonitor",
    version="1.0.0"
, author="orangleliu", author_email="[email protected]", #自動尋找帶有 __init__.py 的資料夾 packages=find_packages(exclude=["logs"]), install_requires = ['django==1.6'], description = "ap monitor system", #單獨的一些py指令碼,不是在某些模組中 scripts = ["dbrouters.py","index.py", "manage.py"
, "settings.py", "uwsgi.py", "__ini__.py"], #靜態檔案等,配合MANIFEST.in (package_data 引數不太好使) include_package_data = True, #如果是正式的專案,還會有更多的資訊(例如開源證書寫在下面) url = "http://wifi21.com", )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

這裡的檔案只包含了python的一些指令碼,還有打包資訊

新增靜態資源(htm 樣式 js 圖片 配置等)需要另外一個配置檔案MANIFEST.in

recursive-include conf *
recursive-include staticfiles *
recursive-include templates *
recursive-include */templates *
  • 1
  • 2
  • 3
  • 4

然後再使用命令打包

python setup.py sdist 
  • 1

會在setup.py 同級的目錄下生成一個dist資料夾,裡面包含了打包好的檔案,同時生成了一個xxx.egg-info 的檔案。

小結

這個過程是最簡單的,只有一些pyhton模組和靜態資源的打包,setup還可以生成許多中格式的包,更多的定製選項,查文件可獲得。後面需要一些定製的東西,有些變了生成,還有一些自動化的東西新增。

宣告: 
本文出自 “orangleliu筆記本” 部落格,轉載請務必保留此出處http://blog.csdn.net/orangleliu/article/details/46604237 作者orangleliu 採用署名-非商業性使用-相同方式共享協議

這是專案的檔案結構。

setuptools應該是對標準庫中的setup模組進行了封裝,看起來更好用一些。

打包過程

前提 安裝setuptools模組,一般都會安裝,因為pip的原因。

在project目錄下,新建一個setup.py 檔案。

#coding:utf-8
#package project

from setuptools import setup, find_packages

setup(
    name="apmonitor",
    version="1.0.0",

    author="orangleliu",
    author_email="[email protected]",

    #自動尋找帶有 __init__.py 的資料夾
    packages=find_packages(exclude=["logs"]),

    install_requires = ['django==1.6'],
    description = "ap monitor system",

    #單獨的一些py指令碼,不是在某些模組中
    scripts = ["dbrouters.py","index.py",
               "manage.py", "settings.py", 
               "uwsgi.py", "__ini__.py"],

    #靜態檔案等,配合MANIFEST.in (package_data 引數不太好使)
    include_package_data = True,

    #如果是正式的專案,還會有更多的資訊(例如開源證書寫在下面)
    url = "http://wifi21.com",
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

這裡的檔案只包含了python的一些指令碼,還有打包資訊

新增靜態資源(htm 樣式 js 圖片 配置等)需要另外一個配置檔案MANIFEST.in

recursive-include conf *
recursive-include staticfiles *
recursive-include templates *
recursive-include */templates *
  • 1
  • 2
  • 3
  • 4

然後再使用命令打包

python setup.py sdist 
  • 1

會在setup.py 同級的目錄下生成一個dist資料夾,裡面包含了打包好的檔案,同時生成了一個xxx.egg-info 的檔案。

小結

這個過程是最簡單的,只有一些pyhton模組和靜態資源的打包,setup還可以生成許多中格式的包,更多的定製選項,查文件可獲得。後面需要一些定製的東西,有些變了生成,還有一些自動化的東西新增。

宣告: 
本文出自 “orangleliu筆記本” 部落格,轉載請務必保留此出處http://blog.csdn.net/orangleliu/article/details/46604237 作者orangleliu 採用署名-非商業性使用-相同方式共享協議