固定化Python(Streamlit)应用程序对Python库使用了错误的文件夹

2024-09-30 18:32:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试对Streamlight应用程序进行dockerize。创建映像是可行的,但当我尝试启动应用程序时,python似乎为我的包尝试了错误的路径

该应用程序应该运行在带有python 3.6的openshift上

FROM registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift

USER root

ADD content /

RUN yum -y update \
&&  yum -y --enablerepo "*" install bzip2 \
    python36-pip \
    python36 \
    python36-devel \
    openssl \
 && yum clean all -y

RUN mkdir -p /usr/local/lib/python3.6/site-packages \
    && python3 -m ensurepip
    
ENV PIP_CONFIG_FILE=/opt/pip/pip.conf

RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install -r /opt/pip/requirements.txt 

ENV LC_ALL=en_US.utf-8
ENV LANG=en_US.utf-8

RUN useradd -rm -d /home/usdlmod -s /bin/bash -g root -u 1001 usdlmod -p "$(openssl passwd -1 usdlmod)"

RUN chgrp root /etc/passwd && chmod ug+rw /etc/passwd

USER usdlmod

CMD ["python", "-m", "streamlit.cli", "run", "main.py", "--server.port=8080"]

EXPOSE 8080
    

在Openshift上,我得到以下错误:/usr/bin/python: No module named streamlit

如何解决此错误


Tags: installpiprunenv应用程序错误rootpython3