Importing modules from different directories
导入模块时出现问题:它在这个目录
1 2 3 4 5 6 7 8 | rnaspace/ __init__.py core/ __init__.py logger.py dao/ __init__.py storage_configuration_reader.py |
这是错误消息:
1 2 | Traceback (most recent call last): File"logger.py", line 21, in <module> from rnaspace.dao.storage_configuration_reader import storage_configuration_reader ImportError: No module named rnaspace.dao.storage_configuration_reader |
号
该文件位于
1 2 3 | """ Package dao Gathers files that access to the plateform data """ |
如果我能很好地理解这个问题,它应该是有效的。我认为问题是,一个不是另一个的子目录(或者路径不是非常正确的那个目录),有没有办法绕过它?或者需要我将解决方案应用于这个问题?
编辑rnaspace文件夹的
1 2 3 4 | import rnaspace.dao.storage_configuration_reader as scr def update_conf(conf_path, predictors_conf_dir): scr.update_conf(conf_path, predictors_conf_dir) |
。
我最后在另一个问题中找到了解决方案,它使用的是模块IMP。我只需要添加模块的名称和绝对路径:
1 | imp.load_source("storage_configuration_reader","./rnaspace/dao/storage_configuration_reader.py") |
。
1 | from rnaspace.dao.storage_configuration_reader import storage_configuration_reader |
这是错误的,因为在"DAO"目录中没有"存储配置读卡器"目录
应该这样做:
1 | from rnaspace.dao import storage_configuration_reader |
号
编辑:
或者这样:
1 | import rnaspace.dao.storage_configuration_reader |