python - 与容器内联启动时的 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
一切都按应有的方式运行。所以只有当我在同一行启动脚本时,才会出现问题。
希望你能给我一个提示。谢谢!
解决方案
我确实找到了一个解决方案,我很乐意与随机的谷歌用户分享:
我遇到的问题是我使用的 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"
推荐阅读
- java - Maven Jetty 垃圾邮件“从多个位置扫描”
- javascript - 相交并合并两个对象数组
- ibm-cloud - IBM Cloud Case Management 是否与 IBM Case Manager 相同?
- c# - ASP.NET Core MVC Identity - 如何查看当前登录的用户?
- r - Rstudio无法显示带有块标签的knitr轮廓
- node.js - Node.js redis 使用 .multi 或 .batch 承诺
- oop - System Verilog 中的类类型,不能作为子类构建和扩展
- mysql - 如何找到查询中可用的所有索引?
- c# - .net 中有哪些图片资源可用
- node.js - TypeError: notes.addNote 不是函数