【发布时间】:2020-06-11 22:25:53
【问题描述】:
我正在尝试构建一个带有 c 扩展名的 python 包,以便在 Docker 容器中使用。
我创建一个python轮如下:
python install bdist_wheel
包装看起来(或多或少)像
cpack
__init__.py
/cpp
__init__.py
c_extension.cpython-37m-x86_64_linux-gnu.so
...
并使用以下 Dockerfile。
FROM python:3.8-slim-buster
WORKDIR /home/user
COPY --chown=user:user requirements.txt /tmp/requirements.txt
RUN python -m venv user
RUN user/bin/pip install -r /tmp/requirements.txt
RUN user/bin/pip install wheel
RUN user/bin/pip install my_c_package-0.0.1-py3-none-any.whl
USER user
...
当我在本地安装 my_c_package-0.0.1-py3-none-any.whl 时我没有问题,但在 docker 上我得到了
import cpack
...
ModuleNofFoundError: No module named cpack.cpp.c_extension
由于它在本地运行良好,我不清楚缺少什么?
【问题讨论】:
-
c_extension.cpython-37m…FROM python:3.8
标签: python docker python-wheel python-extensions