Closed Skylake-dev closed 1 year ago
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
hmm, is markupsafe being used by flask? or requests?
Those are the only two dependencies the project uses.
here is the full traceback
(.venv) C:\test\python_blockchain_app>flask run --port 8000
Traceback (most recent call last):
File "C:\Program Files\Python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Program Files\Python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\test\python_blockchain_app\.venv\Scripts\flask.exe\__main__.py", line 4, in <module>
File "C:\test\python_blockchain_app\.venv\lib\site-packages\flask\__init__.py", line 14, in <module>
from jinja2 import escape
File "C:\test\python_blockchain_app\.venv\lib\site-packages\jinja2\__init__.py", line 12, in <module>
from .environment import Environment
File "C:\test\python_blockchain_app\.venv\lib\site-packages\jinja2\environment.py", line 25, in <module>
from .defaults import BLOCK_END_STRING
File "C:\test\python_blockchain_app\.venv\lib\site-packages\jinja2\defaults.py", line 3, in <module>
from .filters import FILTERS as DEFAULT_FILTERS # noqa: F401
File "C:\test\python_blockchain_app\.venv\lib\site-packages\jinja2\filters.py", line 13, in <module>
from markupsafe import soft_unicode
ImportError: cannot import name 'soft_unicode' from 'markupsafe' (C:\test\python_blockchain_app\.venv\lib\site-packages\markupsafe\__init__.py)
so markupsafe is a dependency of jinja2 that is a dependency of flask.
You can reproduce the issue following these steps:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
export FLASK_APP=node_server.py
or set FLASK_APP=node_server.py
on windowsflask run --port 8000
<-- this is the line that generates the above exception
adding markupsafe==2.0.1
to requirements fixes the issue. This is because they made a breaking change in version 2.1 removing soft_unicode, see the issue that i linked in my original post. Got it, thanks for the details!
- flask run --port 8000
i added markupsafe==2.0.1 to requirements then run command pip install -r requirements.txt, it's successful but still generate above exception
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
@hwangzh are you sure that the correct version of markupsafe is installed? I just tried and it works.
This has been fixed now, thanks all!
When i was trying to run the application as explained in the readme there is an error on the following command
After searching online i found that there is a breaking change in the library that has been made recently that causes this issue. Pinning the version in the requirements fixes the issue.
markupsafe==2.0.1