gpt4 book ai didi

python setup.py install 在 Alpine 图像上无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 11:17:38 27 4
gpt4 key购买 nike

我有以下 dockerfile:

FROM python:alpine3.6

ENV PORT 5000
ENV APP /usr/src
ENV FLASK_APP pkg_name/app.py

RUN apk update
RUN apk upgrade
RUN apk add build-base postgresql-dev git gcc
RUN apk add musl-dev python3-dev libffi-dev

ADD . /
RUN python setup.py install
# RUN pip install .

EXPOSE $PORT

CMD flask run

上面的配置在标准 python 图像中完美运行,但在 alpine 图像中却不行。 python setup.py installpip install . 都会正确安装包,但是当我运行 flask run 时,它会提示安装的模块不是发现:

 Traceback (most recent call last):
File "pkg_name/app.py", line 6, in <module>
from pkg_name.api import api
ModuleNotFoundError: No module named 'pkg_name'

运行 pip freeze 显示已安装包列表中的项目。尝试在 python 解释器中导入项目 >>> import pkg_name 也可以正常工作,这很奇怪。

问题:

有没有人能解释为什么 pkg 无法在运行时导入,尽管它已在 interpeter 中正确安装和导入。我该如何修复它。

最佳答案

对我有用的解决方案是设置 PYTHONPATH 变量。

PYTHONPATH=${PYTHONPATH}:/usr/local/lib/python3.6/site-packages

仍然感觉这只是一个肮脏的解决方法,因为站点包路径在 sys.path 中并且包已正确安装在那里,但现在它解决了这个问题。

关于python setup.py install 在 Alpine 图像上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48911094/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com