我有一个这样的项目目录结构:
root\
.git\
server\
setup.py
company\
__init__.py
zed\
__init__.py
server\
__init__.py
server.py
util.py
我的__init__.py文件都是空的。我的 root\server\setup.py 看起来像这样:
from setuptools import setup, find_packages
setup(
name="zed-server",
version="1.0.0",
packages=find_packages(),
install_requires=[
# ...
]
)
我确认
find_packages()
即将回归:
['company', 'company.zed', 'company.zed.server']
我通过执行以下操作(成功)安装了该软件包:
cd root\server
pip install -e .
我确认该软件包已安装为可编辑:
$ pip list
...
zed-server 1.0.0 C:\path\to\root\server
...
问题:
在 server.py 我有一个这样的导入语句:
import company.zed.server.util
我运行该文件,如下所示:
cd root\server\company\zed\server
python server.py
但是失败了:
ModuleNotFoundError: No module named 'company.zed.server'
我不知道发生了什么事。为什么找不到包裹以及如何解决这个问题?
系统:
由于您的驱动程序文件是 server.py 并且 util.py 与 server.py 位于同一目录中 尝试以下...
import util