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 |