我有两个python文件,分别是abc.py
和xyz.py
abc.py
包含两个function
即func_1()
和func_2()
我的目录结构如下
db_ops /
__init__.py
abc.py
xyz.py
现在xyz.py
中,我具有以下导入方法
from db_ops.abc import func_1
运行xyz.py
时出现错误消息
ModuleNotFoundError: No module named 'db_ops'
我错过了什么吗?
P.S。我正在使用Windows 10
答案 0 :(得分:1)
您不需要软件包,因为所有代码都在同一目录中。
由于xyz和abc位于同一目录中,因此只需使用from abc import func_1
答案 1 :(得分:0)
好,所以我找到了所面临问题的答案。
我们需要在dir path
和abc.py
所在的位置添加xyz.py
。
假设我们具有如下所示的广泛目录结构
etl_works/
db_ops
__init__.py/
__init__.py
abc.py
xyz.py
etl_works
目录如下
'D:/my_py/etl_works'
然后我们需要将以上内容添加到sys.path
,即
import sys
sys.path.append('D:/my_py/etl_works')
然后我们可以使用import db_ops
或from db_ops import abc
注意:
上述方法不是永久解决方案。每次我们关闭程序或内核时,path.append
方法都会被颠倒。为了避免这种情况,我们只需将上述目录路径添加到PYTHONPATH(在Windows 10系统中,我们将路径添加到环境和系统属性)
希望这对像我这样的新手有帮助!