【发布时间】:2021-08-26 17:25:37
【问题描述】:
我正在使用 bash 脚本 (run.sh) 来运行 python 文件 (calculate_ssp.py)。代码工作正常。文件夹结构如下所示
├── dataset
└── dataset_1.csv
├── Dockerfile
├── __init__.py
├── output
├── run.sh
├── scripts
│ ├── calculate_ssp.py
│ ├── __init__.py
bash 脚本是
#!/bin/bash
python3 -m scripts.calculate_ssp 0.5
现在,我正在尝试从 Dockerfile 运行 bash 脚本 (run.sh)。 Dockerfile的内容是
#Download base image ubuntu 20.04
FROM ubuntu:20.04
#Download python
FROM python:3.8.5
ADD run.sh .
RUN pip install pandas
RUN pip install rdkit-pypi
CMD ["bash", "run.sh"]
但是,我收到一个错误/usr/local/bin/python3: Error while finding module specification for 'scripts.calculate_ssp' (ModuleNotFoundError: No module named 'scripts')
您能告诉我为什么会收到错误消息(因为代码在 bash 脚本中运行良好)吗?
【问题讨论】:
-
您的 Dockerfile 永远不会将 Python 脚本添加到映像中。
-
另外,
FROM ubuntu:20.04并没有(我相信)做任何有效的事情,因为您会立即切换到 Python 基础映像。 -
@感谢您的评论。那么我应该删除
FROM ubuntu:20.04吗?而且,我必须做些什么来解决这个问题? -
您必须将
scripts包添加到您的图像中,就像您必须添加run.sh一样。 -
喜欢这个
ADD scripts.calculate_ssp.py?
标签: python python-3.x bash docker dockerfile