仅在使用docker时导入错误

我可以在没有docker的情况下运行一个脚本,但是当我不得不使用docker的时候,我运行它并得到一个导入错误:没有模块命名为cH

在我的docker集装箱中,我可以这样做:

python

import cH 

一切工作正常。 但第二我尝试运行script.py,我得到导入错误,没有模块命名为cH

当我不使用docker的时候,我不会得到这个错误。

你在容器中使用的python版本可能与脚本使用的python版本不同。 而不同版本的python可能会安装不同的软件包。 你可以从shebang行检查脚本使用的python版本。 shebang行应该看起来像这样:

 #!/usr/bin/env python 

您正尝试从包中导入模块。 看到这个答案来了解模块和包之间的区别。 你的问题可能是你的包由于缺less__init.py__文件而不能被识别为一个包。 如果您还没有一个空的目录,请在c目录中添加一个空目录。