2013-03-20 40 views
1

我有python模塊中導入包的問題。 這就是我做的:pythoninterpreter導入錯誤

from mega.mega import Mega 
if __name__ == "__main__": 
    m = Mega() 

,並從Java我運行:

interpreter.execfile("api.py"); 

但我仍然得到錯誤:

Exception in thread "main" Traceback (most recent call last): 
File "<string>", line 1, in <module> 
ImportError: No module named mega 

在大型文件夾我有mega.py文件和__init__.py文件將該文件夾標記爲包。


現在,我得到:

from mega.mega import Mega 
SyntaxError: ("'import *' not allowed with 'from .'", ...path... 
+1

「mega」文件夾是否在您的PYTHONPATH上? – mgilson 2013-03-20 15:33:41

+0

不,但它與api.py – adaniluk 2013-03-20 15:34:18

回答

3

你需要的mega父目錄添加到sys.path

import sys 
import os 

PATH = os.path.dirname(os.path.abspath(__file__)) 
sys.path.insert(0, PATH) 

from mega.mega import Mega 

__file__api.py模塊的文件名(可相對)。

+0

@donatello:在一個完全不同的地方聽起來像是一個錯誤。你使用'from。 import *'在'mega/__ init __。py'中的某處? – 2013-03-20 15:43:06

+0

mega/__ init__.py爲空 – adaniluk 2013-03-20 15:45:00

+0

而在'mega/mega.py'中? – 2013-03-20 15:45:32