首页 > 解决方案 > 与容器内联启动时的 Docker Python ImportError

问题描述

在 docker 容器中运行 python 脚本时,我遇到了一个奇怪的问题。当我在启动 docker 容器的同一行中启动脚本时,例如

docker run -it --rm <containter>:<version> /bin/bash --login -c "python /opt/project/main.py"

它提出了ImportError一个模块。但是,当我第一次启动 docker conainer然后再启动脚本时

docker run -it --rm <containter>:<version> /bin/bash 
python /opt/project/main.py

一切都按应有的方式运行。所以只有当我在同一行启动脚本时,才会出现问题。

希望你能给我一个提示。谢谢!

标签: pythondocker

解决方案


我确实找到了一个解决方案,我很乐意与随机的谷歌用户分享:

我遇到的问题是我使用的 python 依赖项是源构建 catkin 依赖项。因此setup.bash,为了找到库,需要从 catkin 工作区获取文件。由于.bashrc像我提到的那样在启动 docker 时没有来源,所以它是手动完成的:

docker run -it --rm <containter>:<version> /bin/bash --login -c "source /path/to/setup.bash  && python /opt/project/main.py"

推荐阅读