我正在使用python3.7,并试图让命名空间包工作,但有一些模块import
的问题。我不清楚如何解决这个问题。我已经按照这里给出的说明(第一种方法):Packaging namespace packages
我的项目组织如下:
scripts/
python_pkgs/
a/
__init__.py <-- Contents of this file are name='a'
a.py
b.py
utils/
__init__.py <-- Contents of this file are name='utils'
util.py
setup.py
setup.py
的内容为:
from setuptools import setup, find_namespace_packages
setup(
packages=find_namespace_packages(include=['python_pkgs.*'])
)
现在,a.py是一个可执行脚本,我在其中执行以下操作:
#/path/to/python3 -B
from b import foo
from python_pkgs.utils import util
第一次导入工作正常,因为b.py与a.py位于同一个文件夹中。但是,尝试import
util.py
时出现错误:
from pythong_pkgs.utils import util, misc
ModuleNotFoundError: No module named 'pythong_pkgs'
我哪里做错了?
1条答案
按热度按时间pxq42qpu1#
如果
pythong_pkgs
应该是find_packages
可识别的软件包,则此目录中应该有__init__.py
(请参阅文档)。第二件事是可执行脚本不应该是python包的一部分,它应该是单独的文件
或
也可以调用python模块
python -m python_pkgs.a.a