关于python:ImportError 仅在我使用docker时

ImportError only when I use docker

我可以在没有docker的情况下运行一个脚本,但是当我必须使用docker时,我会运行它并得到一个导入错误:没有名为c.h的模块。

在我的码头集装箱里,我可以做到:

Python

1
 import c.H

一切正常。但第二次尝试运行script.py时,我得到一个导入错误,即没有名为c.h的模块

我不使用Docker时不会得到这个错误。


您正在尝试从包中导入模块。请参阅此答案以了解模块和包之间的区别。您的问题可能是您的包由于丢失的文件而无法被识别为包。如果您还没有一个空目录,请向C目录添加一个空目录。


容器中使用的Python版本可能与脚本使用的Python版本不同。不同版本的python可能安装了不同的包。您可以从shebang行检查脚本使用的python版本。shebang线应如下所示:

1
#!/usr/bin/env python