2012-06-06 70 views
0

我的Python無法弄清楚的子模塊,當我試圖導入reportlab.graphics.shapes這樣的:的Python:子模塊未找到

>>> from reportlab.graphics.shapes import Drawing 

Traceback (most recent call last): 
    File "<pyshell#14>", line 1, in <module> 
    from reportlab.graphics.shapes import Drawing 
ImportError: No module named shapes 

我抄reportlab/站點包可以和我導入模塊reportlab.graphics成功。

我的Python版本是2.7.3。

任何人都可以幫助我解決這個問題嗎?

+0

可以接受的答案,如果它解決了你問題? – Dhara

回答

1

正如@ dan-boa指出的那樣,您可以添加路徑到模塊搜索路徑,但由於您可以找到父模塊,我懷疑這是您的根本問題。

在另一條路徑上是否有模塊的剩餘安裝?您可以檢查它通過執行查找父包(ReportLab的)路徑:

import reportlab 
print reportlab.__file__ 

如果這確實是您所期望的路徑,那就試試這個遞歸與子模塊,直到你可以看到問題在哪裏。也許,你的包被破壞了?如果您可以找到相關文件/模塊,請嘗試手動檢查返回的路徑。

如果這不是您期望的路徑,請從第二條路徑清理安裝並重試。

最後,如果你發現這是不是使用sys.path.append加上每次路徑的路徑問題,你可以把它添加到PYTHONPATH

+0

感謝您的建議。這是找到問題的好方法。 – luoyangylh

0

請檢查您的sys路徑,如果該模塊的目錄不存在,然後添加它。

由於站點包已經在sys.path中,因此可能導致包成功導入。

+0

感謝您的回覆。但我已經把它放在sys.path中。 – luoyangylh

+1

而不是'append','sys.path.insert(0,'path')'可能更適合於爲它賦予比原來更高的優先級。 – glglgl