2016-08-25 73 views
0

貓test.py導入庫找不到模塊

from importlib import import_module 

bar = import_module('bar', package='project') 

LS項目/

__init__.py 
__init__.pyc 
bar.py 
bar.pyc 

蟒蛇test.py

Traceback (most recent call last): 
    File "test.py", line 5, in <module> 
    bar = import_module('bar', package='project') 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
ImportError: No module named bar 

清單進口模ULES(sys.modules中)不顯示任何模塊項目

我可以使用Python外殼導入酒吧

任何想法?

+1

其中'test.py'相對於'project /'? – karthikr

+0

它位於同一個文件夾 – kev

回答

1

它需要在酒吧的前面的點.. :-(

bar = import_module('.bar', package='project') 
+0

或跳過傳遞'package'參數並將其稱爲'import_module('project.bar')',它仍然返回'bar'(不同於'__import__'特殊函數,它將返回'導入這兩種'project'和'project.bar')後project'。 – ShadowRanger

0

import_lib文檔說

如果相對而言是指定的名稱,那麼包參數必須被指定到作爲解析包名稱的錨點的包(例如import_module('.. mod','pkg.subpkg')將導入pkg.mod)

因此表達式也可以寫成:

bar = import_module('..bar',package='project.bar') 
相關問題