我知道有很多这种类型的stackoverflow问题,但即使在阅读了所有这些答案后,我也无法解决我的问题。
问题是,我无法从模块导入一些python文件,但我可以导入其他文件。 我有以下模块结构:
test_module
├── __init__.py
├── keyword_extractor.py
└── word2vec
└── test3.py
我的 __ init __。py 包含以下代码。
import sys
import os
sys.path.append(os.path.join('..', 'test_module'))
import word2vec, keyword_extractor, test3
我试图以这种方式导入:
import sys
import os
sys.path.append(os.path.join("..", "..", "test_module"))
sys.path.append(path)
import test_module as tm
我可以成功导入word2vec文件
tm.word2vec.some_fuction()
但是,当我尝试导入 keyword_extractor 时,我收到错误。
keywords = tm.keyword_extractor.get_keywords()
AttributeError: 'module' object has no attribute 'keyword_extractor'
我尝试了不同的方法,如:
我在 __ init __。py 中添加了 __ all __ ,并从 test_module
导入了所有python文件__all__=["word2vec","keyword_extractor", "test3"]
但我仍然会收到 keyword_extractor 的错误。
keyword_extractor 包含以下代码:
def get_keywords():
return ["keywords"]