2012-01-15 21 views
3

我已經在我的virtualenv中,並且我確信一切都在python路徑上。Sphinx-api無法導入Django項目的模塊

(myenv)[email protected]:/var/lib/mydirectory/doc$ sphinx-apidoc -o . ../testproject/ 

Creating file ./testproject.rst. 
Creating file ./testproject.apps.rst. 
# ... and many more .... # 
Creating file ./modules.rst. 

(myenv)[email protected]:/var/lib/mydirectory/doc$ make html 
sphinx-build -b html -d _build/doctrees . _build/html 
Making output directory... 
Running Sphinx v1.1.2 
loading pickled environment... not yet created 
building [html]: targets for 17 source files that are out of date 
updating environment: 17 added, 0 changed, 0 removed 

Traceback (most recent call last):t                     
    File "/var/lib/server/myenv/lib/python2.6/site-packages/sphinx/ext/autodoc.py", line 321, in import_object 
    __import__(self.modname) 
ImportError: No module named webclient.__init__ 
# ... and many more .... # 

/var/lib/mydirectory/doc/testproject.rst:7: WARNING: autodoc can't import/find module 'testproject.__init__', it reported error: "No module named testproject.__init__", please check your spelling and sys.path 
# ... and many more .... # 

當我打開html文件時,我只看到標題和章節標題。沒有autodocs。

是什麼導致了這個問題?我已經在我的虛擬環境中...

任何想法?我正在使用獅身人面像1.1.2。

謝謝。

回答

2

我不是獅身人面像專家。但答案是非常清晰的恕我直言。

首先,錯誤消息顯示模塊不可導入。這意味着一些.py文件中的導入語句是錯誤的。

可能的原因:

  1. 傳統import語句
  2. Inproper import語句
    • 水平深入進口
    • 錯字
  3. 模塊不是工作在Python路徑的

2.b特別感興趣。如果你是在MYAPP/mysubapp/models.py,並且要導入的myapp/views.py中,你需要提供以下聲明:

# myapp/mysubapp/models.py 
import mysite.myapp.view   # correct 
import myapp.view    # incorrect 

檢查每一個警告消息,並期待在每個相應的.py文件。找到相應的導入語句,並仔細檢查可用性。

現在回到virtualenv問題。在我看來,你的才能也可能是一個主要原因。只看第一個錯誤:

ImportError: No module named webclient.__init__ 

這是一個該死的問題。仔細檢查你的路徑變量是否設置正確。

+0

謝謝。你是對的。固定。 – user1012451 2012-01-16 03:45:02