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/myproject
而 virtualenv
处于活动状态,那么在该环境中我可以 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
我在 virtualenv
(Python 3.6) 中有一个开发服务器 运行ning,我想在其中安装一个本地 python 项目。如果我 运行 pip install -e /path/to/myproject
而 virtualenv
处于活动状态,那么在该环境中我可以 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