我有以下结构:
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
答案 0 :(得分:1)
将Oracle的位置添加到环境变量PYTHONPATH。
如果您在命令行中:PYTHONPATH=. python cOr.py
答案 1 :(得分:1)
导入看起来应如下所示:
from before_OOP.dump_ora_shelve import get_shelve_users