如何从docker中的python模块读取文件
如何在Docker中执行时读取python模块中的文件? 我有我的代码中导入的python模块。 通常为了获取模块的相对path,可以执行<<module_name>>.__path__
。 但是这种方法在docker中不起作用,但在本地工作。
有没有一种常见的方式,我可以在Docker中以及在本地读取模块中的文件?
有几件事情需要考虑:
- python在容器中安装在哪里,什么版本? 这是否符合你的开发环境?
- 看看你的dockerfile – 你的工作目录是什么? 你有一个吗? 也许,你正在从一个目录运行你的Python代码,但试图从另一个目录导入一个模块。
- 你的
PYTHONPATH
套在你的容器里吗? - 您是否已经将模块安装在您尝试使用的容器中? 也许与一个requirements.txt文件或手动? 如果是这样,你是用你安装模块的python版本/path来执行你的python代码吗?
- 你在使用虚拟环境吗? 它是来源?
- 什么用户是你的容器运行? 它有权访问python模块吗? 您可能需要
chown
站点包path或作为一个不同的用户或root
。