问题描述
我有一个简单的烧瓶应用程序,我正在尝试在 Docker 中运行
import mapscript
from flask import Flask
import json
app = Flask(__name__)
port = 5000
@app.route("/hello")
def geocoder():
epsg = mapscript.pointObj(1,1)
return json.dumps(epsg)
test()
if __name__ == '__main__':
app.run(host="0.0.0.0",port=port)
我的 Dockerfile 是:
FROM python
workdir /opt/demo/
copY /app .
RUN pip install -r requirements.txt
ENTRYPOINT python test.py
但是当我运行 docker run -p 5000:5000 test:latest
时出现以下错误:
Traceback (most recent call last):
File "/opt/demo/test.py",line 1,in <module>
import mapscript
File "/usr/local/lib/python3.9/site-packages/mapscript/__init__.py",line 2,in <module>
from .mapscript import *
File "/usr/local/lib/python3.9/site-packages/mapscript/mapscript.py",line 13,in <module>
from . import _mapscript
ImportError: cannot import name '_mapscript' from partially initialized module 'mapscript' (most likely due to a circular import) (/usr/local/lib/python3.9/site-packages/mapscript/__init__.py)
只有当我在 Docker 外部运行时激活了 Python VENV 时才会发生这种情况,但我不知道为什么我在 Docker 内部收到此错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)