Python无法从二级深子目录中找到名为/导入错误的模块

时间:2019-03-18 13:54:48

标签: python python-2.7 python-import

对此我有些困惑。我不知道为什么找不到rpSubmit py。此行为不是单个.py特有的,而是一个普遍的问题。我正在使用python2.7,甚至不同的python安装都面临相同的问题。

此代码来自引起导入错误的menu.py:导入错误:没有名为rpSubmit的模块:

from scripts.rpSubmit import rpSubmit

这是文件夹结构,既然所有__init__.py都存在,对吗?

    Verzeichnis: Z:\ZMM\00_pipeline\pipeline\nuke\master


Mode                LastWriteTime     Length Name                                                                      
----                -------------     ------ ----                                                                      
d----        17.03.2019     19:00            gizmos                                                                    
d----        18.03.2019     14:32            scripts                                                                   
d----        17.03.2019     19:00            ToolSets                                                                  
-a---        18.03.2019     14:35        656 init.py                                                                   
-a---        18.03.2019     14:32        740 menu.py                                                                                                                                                                                     


    Verzeichnis: Z:\ZMM\00_pipeline\pipeline\nuke\master\scripts


Mode                LastWriteTime     Length Name                                                                      
----                -------------     ------ ----                                                                      
d----        18.03.2019     14:32            rpSubmit                                                                  
-a---        18.03.2019     14:32          0 __init__.py                                                                                                                         


    Verzeichnis: Z:\ZMM\00_pipeline\pipeline\nuke\master\scripts\rpSubmit


Mode                LastWriteTime     Length Name                                                                      
----                -------------     ------ ----                                                                      
-a---        10.03.2010     01:52       3620 rpSubmit.png                                                              
-a---        18.01.2018     16:15       7591 rpSubmit.py                                                               
-a---        18.03.2019     14:32          0 __init__.py                                                                                                                            
-a---        18.03.2019     14:32       5638 rpSubmit.pyc    

编辑:将文件夹重命名为脚本(不带s)后,它又可以工作了。我不知道为什么。幸运的事故。

1 个答案:

答案 0 :(得分:0)

如果您从非“ master”文件夹启动程序,则Python很可能找不到rpSubmit,因为它会在此文件夹(启动程序的位置)而不是在目录中搜索“ scripts”文件夹。 “主”文件夹。

要解决此问题,请将menu.py中的from scripts.rpSubmit import rpSubmit行更改为:

import imp
rpSubmit = imp.load_source('rpSubmit', r'Z:\ZMM\00_pipeline\pipeline\nuke\master\scripts\rpSubmit\rpSubmit.py')

这样,您可以设置正确脚本的绝对路径。