Python 来自本地项目的`pip install` - 模块找不到彼此

Python `pip install` from a local project - Modules can't find each other

我在 virtualenv (Python 3.6) 中有一个开发服务器 运行ning,我想在其中安装一个本地 python 项目。如果我 运行 pip install -e /path/to/myprojectvirtualenv 处于活动状态,那么在该环境中我可以 import myproject。我也可以from myproject import submodule。但是如果我这样做 from myproject import othermodule,我会得到 ModuleNotFoundError: No module named 'submodule'.othermodule 导入 submodule)。如果我从 myproject 的根目录 import myproject 就不会发生这种情况。

目录结构为:

/path/to/myproject
    setup.py
    myproject/
        __init__.py
        submodule.py
        othermodule.py
        ...

setup.py 看起来像:

setup(
name='myproject'
packages=['myproject']
)

这是怎么回事?为什么找不到这些库?

问题是 Python 3 个相关导入必须是显式的。

othermodule 中,而不是

import submodule

我需要写:

import myproject.submodule

import .submodule