没有名为'xxx'的模块; 'yyy'不是一个包

时间:2017-03-28 15:39:48

标签: python import module

我有以下结构:

Oracle    
| before_OOP  
| | dump_ora_shelve.py  
cOr.py

get_users.py从搁置“数据库”中检索数据并且运行正常:

def get_shelve_users(field):
    import shelve
    db = shelve.open('oracle-shelve')
    for key in db:
        if key == field:
             return db[key]
    db.close()

cOr.py必须要导入get_shelve_users:

 from Oracle.before_OOP.dump_ora_shelve import get_shelve_users

但是当我要求导入时(即使PyCharm可以成功找到此文件夹并建议我要导入的内容),导入也不起作用:

    from Oracle.before_OOP.dump_ora_shelve import get_shelve_users
ModuleNotFoundError: No module named 'Oracle.before_OOP'; 'Oracle' is not a package

2 个答案:

答案 0 :(得分:1)

将Oracle的位置添加到环境变量PYTHONPATH。

如果您在命令行中:PYTHONPATH=. python cOr.py

答案 1 :(得分:1)

导入看起来应如下所示:

from before_OOP.dump_ora_shelve import get_shelve_users