我有一个python项目在docker容器中运行。
我的开发环境结构如下:
-- app
---- Module1
------ ClassM1.py
---- Module2
----- ClassM2.py
---- main.py
-- docker-compose.yml
在我的合成文件中,我正在安装。/app/:/app/
在开发时(在PyCharm中),我在www.example.com中使用这一导入行时没有出现问题main.py:
from app.Module1.ClassM1 import ClassM1
from app.Module1.ClassM2 import ClassM2
但当我在容器中部署代码时
“模块未找到错误:没有名为“app”的模块“
我已经试过了:
- 在根目录中创建
__init__.py
export PYTHONPATH=.
- 导入sys并执行sys.path.append(./)
我发现了一个类似的问题,但没有答案:Python/Docker - ModuleNotFoundError: No module named
1条答案
按热度按时间nfeuvbwi1#
默认情况下,它在docker之外也不能工作。当导入一个文件时,Python只搜索入口点脚本运行的目录和sys.path,其中包括包安装目录等位置(实际上比这要复杂一些,但这涵盖了大多数情况)。
您可以使用以下命令:
PS:你的代码中有错别字