这是我在Eclipse中Pydev项目的文件路径:
project
|
+----tests
| |
| +----subtests
| | |
| | +----__init__.py
| | |
| | +----test1.py
| |
| +----__init__.py
| |
| +----test2.py
|
+----mods
|
+----__init__.py
|
+----submods1
|
+----__init__.py
|
+----submods2
|
+----__init__.py
|
+----a.py
|
+----b.py
|
...
|
+----z.py
test1和test2完全相同,所有init文件中只有注释。测试是从mods目录中获取模块以及这些模块的依赖关系。当我运行test1时,所有的模块都被找到了,但是test2总是在submods2中找不到相同的模块(我们称之为“z.py”)。但不知怎么的,它能找到其余的模块。并不是说它无法在z.py中导入某些内容,而是根本找不到该文件。在
测试2:
^{pr2}$在这两个测试期间,sys.path
的唯一区别是测试所在的目录,project/tests/subtests
用于test1,project/tests
用于test2。在
我不明白为什么test2不能导入z.py,但是test1可以,test2可以导入其余的模块。在
我想我找到了解决办法。在我的test2的
Run Configurations
中,Arguments
选项卡中的Working directory
有一个自定义路径${workspace_loc:project/tests/}
,我将其切换到默认路径${project_loc:/selected project name}
,这似乎解决了这个问题。虽然我不明白这是如何解决问题的,但结果对我来说已经足够好了。在要帮助诊断问题,请执行以下操作:
从mods.submod1型导入子模块2 子打印(MOD2)
我猜这不是你期望的模块。在
您使用的是什么Python版本?在
相关问题 更多 >
编程相关推荐