2011-02-08 164 views
4

我有一個python模塊導入問題。 我安裝了django(這可以是其他任何模塊)。我使用這個模塊:如何導入已導入相同文件名的python模塊?

from django.template import Context 
# other imports 
# use Context 

我在我的應用程序中有一個名爲「utilities」的文件夾。在這個文件夾中我創建了一個文件「django.py」 - 這個文件包含一些與django一起使用的函數。 所以我導入我的Django模塊中,我得到錯誤: 文件「... \公用\ django.py」,1號線,在 從django.template進口語境 導入錯誤:沒有模塊命名模板

+4

你真的不應該這樣命名你的文件.. – 2011-02-08 09:48:47

回答

8

您必須在文件的頂部,使absolute imports

from __future__ import absolute_import 

這樣您就可以在模塊中的進口轉換成絕對或相對導入適當的。

+0

向前兼容,喜歡它。 – 2011-02-08 09:58:37

0

使用命名空間,請在您的實用程序目錄中創建__init__.py,以便將其打包,然後執行import utilities.django。順便說一下,將模塊命名爲std庫或者您知道要使用的包的名稱是一種不好的做法。你永遠不知道什麼時候你會想自己使用哪個模塊。