首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker在从镜像运行streamlit应用程序时显示导入错误

Docker在从镜像运行streamlit应用程序时显示导入错误
EN

Stack Overflow用户
提问于 2021-10-15 11:41:19
回答 2查看 100关注 0票数 0

我有一个streamlit应用程序,我已经在docker中使用pymesh/pymesh图像创建了一个图像。

我能够成功地构建映像。但是,当我尝试使用以下命令从图像创建容器时:

代码语言:javascript
复制
docker run -p 8501:8501 meshnetapp:latest

我得到以下错误:

代码语言:javascript
复制
2021-10-15 10:50:57.500 Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/streamlit/script_runner.py", line 354, in _run_script
    exec(code, module.__dict__)
  File "/app/dockerapp.py", line 20, in <module>
    from preprocess import extract_features
  File "/app/preprocess.py", line 4, in <module>
    import pymesh
  File "/usr/local/lib/python3.6/site-packages/pymesh/__init__.py", line 18, in <module>
    from .Mesh import Mesh
  File "/usr/local/lib/python3.6/site-packages/pymesh/Mesh.py", line 5, in <module>
    import PyMesh
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/local/lib/python3.6/site-packages/pymesh/lib/PyMesh.cpython-36m-x86_64-linux-gnu.so)

我尝试使用以下命令手动安装libstdc++:

代码语言:javascript
复制
apt-get update
apt-get install libstdc++6

但这似乎也不能解决问题。

这是我的dockerfile:

代码语言:javascript
复制
FROM pymesh/pymesh:latest

WORKDIR /app

COPY requirements.txt ./requirements.txt

RUN pip install -r requirements.txt

RUN apt-get update

RUN apt-get install libstdc++6

EXPOSE 8501

COPY . /app

ENTRYPOINT ["streamlit", "run"]

CMD ["dockerapp.py"]
EN

回答 2

Stack Overflow用户

发布于 2021-10-20 16:46:40

如果我理解您的Dockerfile流,您似乎有一个操作顺序错误。在安装所需的库之前,您可以运行pip install来执行Python流程。这似乎是正确的顺序:

代码语言:javascript
复制
FROM pymesh/pymesh:latest

WORKDIR /app

COPY requirements.txt ./requirements.txt

RUN apt-get update

RUN apt-get install libstdc++6

RUN pip install -r requirements.txt

EXPOSE 8501

COPY . /app

ENTRYPOINT ["streamlit", "run"]

CMD ["dockerapp.py"]
票数 0
EN

Stack Overflow用户

发布于 2021-10-20 10:43:05

我想通了。我得到这个错误背后的原因是由于pymesh和streamlit库不能一起工作的一些问题。只有当我在同一py文件中导入这两个库时,我才会得到这个错误。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69584173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档