如何从docker中的python模块中读取文件

时间:2017-06-12 23:38:21

标签: python docker dockerfile docker-swarm

如何在docker中执行时读取python模块中的文件?我有一个python模块,我在我的代码中导入。通常,为了获取模块的相对路径,可以<<module_name>>.__path__。但是这种方法在docker中不起作用,但在本地工作。

我是否可以通过常用的方式从docker和本地的模块中读取文件?

1 个答案:

答案 0 :(得分:1)

有几件事需要考虑:

  1. 容器中安装python的位置和版本是什么?是否 符合您的开发环境?
  2. 查看您的dockerfile - 您的工作目录是什么?你设置了吗?也许,您正在从一个目录运行您的python代码,但尝试从另一个目录导入模块。
  3. 您的PYTHONPATH是否已设置在容器中?
  4. 您是否已将模块安装在您尝试使用的容器中?也许使用requirements.txt文件或手动?如果是这样,你是否使用与安装模块相同的python版本/路径执行python代码?
  5. 您使用的是虚拟环境吗?它来源了吗?
  6. 您的容器运行的用户是什么?它可以访问python模块吗?您可能需要chown站点包路径或以其他用户身份运行或root