从命令行执行Python脚本:导入出错
我在Eclipse里写了一个小脚本,用Python编写,运行起来没问题。但是在命令行里执行就不行了:
>python test.py argument1 argument2
from src import Tests, ImportError: No module named src
这个脚本存放在以下文件夹里:
ScriptFolder
.input
.report
.src
..test.py
..Tests
...Test1.py
...Test2.py
..TestUtils
...FileUtils.py
在test.py里,我是这样导入的:
from src import Tests
from TestUtils import FileUtils
关于init.py文件,和test.py在同一个文件夹的那个是空的,而在Tests文件夹里的内容是:
import Test1
import Test2
TestUtils文件夹里的init.py文件内容是:
import FileUtils
问题是,如果我把这一行from src import Tests
改成import Tests
,在Eclipse里就会报错:Unresolved imports: Tests. found at src.Tests
我该怎么做才能让它在Eclipse和命令行里都能正常工作呢?
1 个回答
3
sys.path.append(path_to_src_directory)
这行代码的意思是把一个路径添加到Python查找模块的默认路径中。因为现在Python不知道你的src目录在哪里,所以它会报错说No module named src
,意思是找不到名为src的模块。此外,你的src目录里似乎没有一个叫__init__.py
的文件。