环境:
Python 3.10.11
Flask==2.2.2
我在Docker容器中运行我的Flask后端代码,使用基础镜像:
FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime
但是当我运行版本为pytest 7.4.2
的pytest时,出现了问题。
pip install pytest
pytest
出现错误,附带日志:
==================================== ERRORS ====================================
_____________ ERROR collecting tests/test_fiftyone_utils_utils.py ______________
ImportError while importing test module '/builds/kw/data-auto-analysis-toolkit-backend/tests/test_fiftyone_utils_utils.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/opt/conda/lib/python3.10/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/test_fiftyone_utils_utils.py:2: in <module>
import daat # noqa: F401
/opt/conda/lib/python3.10/site-packages/daat-1.0.0-py3.10.egg/daat/__init__.py:1: in <module>
from daat.app import app
/opt/conda/lib/python3.10/site-packages/daat-1.0.0-py3.10.egg/daat/app/__init__.py:6: in <module>
from flask import Flask, jsonify, request
/opt/conda/lib/python3.10/site-packages/flask/__init__.py:5: in <module>
from .app import Flask as Flask
/opt/conda/lib/python3.10/site-packages/flask/app.py:30: in <module>
from werkzeug.urls import url_quote
E ImportError: cannot import name 'url_quote' from 'werkzeug.urls' (/opt/conda/lib/python3.10/site-packages/werkzeug/urls.py)
我的代码在直接运行
python run.py
的时候工作得很好。下面是
run.py
的代码。from daat import app
app.run(host='0.0.0.0')
我猜应该是pytest版本的问题,因为在没有改变任何相关代码的情况下,它以前运行得很好,而且我使用了
pip install pytest
而没有指定具体的版本。而且我的后端在没有pytest的情况下也能正常运行。