2016-11-29 62 views
1

我想修改django項目中的-h命令。我創建了一個項目,但是當我使用我自己的幫助命令python manage.py my_help時,出現一個關於未安裝模塊的錯誤。這是可以的,因爲我想告訴用戶在運行項目之前需要安裝哪些模塊。所以,當我打電話python manage.py my_helppython manage.py -h我想顯示有關所需的其他模塊和有關項目的一般信息的信息。現在,我得到的唯一錯誤形式交往一樣(我使用的項目ReportLab的)Python django修改幫助文件

from reportlab.lib.pagesizes import A4, letter 
ImportError: No module named 'reportlab' 

是否可以修改默認的-h選項或做一些與我自己的幫助命令來顯示基本信息,而不是一個錯誤?

編輯:

我在哪裏可以把argparse代碼來修改我的-h選項?我把它放在manage.py當我運行python manage.py -h它顯示,但是當我運行python manage.py runserver,我得到了manage.py: error: unrecognized arguments: runserver

回答

3

您需要修改import語句是這樣的:

try: 
    from reportlab.lib.pagesizes import A4, letter 
except ImportError: 
    print 'Missing dependency reportlab' 

但是,這是相當不尋常。通常的做法是創建可以傳遞到PIP如下

pip install -r requirements.txt 

其使得用戶能夠容易地滿足在一個命令中的所有要求的requirments.txt文件。如果您捕獲每個ImportError併爲每個需求輸出消息,則實際上是強制用戶多次輸入pip install。

+1

for requirements.txt,更容易的方法! –

+0

Thx,這是個好主意。 – allocer

+0

很高興你喜歡它 – e4c5