2016-03-14 45 views
1

我在本地環境下開發了一個經典的Python Django web應用程序。 然後,我使用Cython將一些我的應用程序的模塊編譯爲動態庫(* .so文件)以「保護」源代碼。 現在,我需要將我的Django應用程序分發給一個客戶(用於測試目的),並且我想爲您提供我所有的Django應用程序(及其文件),但沒有一些特定的文件和文件夾(例如:.git文件夾,* .pyc ,* .py,javascript unobfuscated sources等等)。特定的本地Django部署。布?

我想有一些bash命令(例如:python setup.py local_deploy)自動將整個應用程序的文件夾複製到另一個文件夾(例如:build)並刪除特定的文件夾或文件模式列表。

你有什麼建議嗎?

+0

..聽起來像我想你想要生成它,壓縮它,把它交給他們 - 不是通過ssh手段..所以,bash?或者python ..如果它像我想的那麼簡單,只是簡單的ol'bash。 –

+0

@JavierBuzzi,我需要的是一個構建腳本,我可以在其中添加要複製的文件夾列表以及要排除複製的文件夾和文件名列表。我需要這個,因爲我生成了許多時間,我不想忘記一些文件或文件夾。 –

+1

對,都會很好。如果你發現自己編寫的Python命令比python更多,那麼答案很清楚,如果不是python。但它聽起來並不像你需要結構:除了只想做「晶圓廠建造」或任何你想到的其他命令。 –

回答

1

我推薦你打包你的應用程序進行部署,如你所說,運行python setup.py sdistanother setuptools script command

您可以指定which package/modules/data to include和/或use a MANIFEST.in file以包含/排除與指定模式匹配的文件/目錄。

注意如果您需要執行其他步驟(除了選擇正確的文件並將它們打包),您還可以使用add a custom command to setup.py。雖然個人,我會使用bash腳本/面料來執行那些,外包裝..