programing

가져오기 오류: 'jinja2'에서 'escape' 이름을 가져올 수 없습니다.

goodsources 2023. 5. 21. 11:22
반응형

가져오기 오류: 'jinja2'에서 'escape' 이름을 가져올 수 없습니다.

오류가 발생했습니다.

가져오기 오류: 'jinja2'에서 'escape' 이름을 가져올 수 없습니다.

다음 요구 사항을 사용하여 코드를 실행하려고 할 때.txt:

chart_studio==1.1.0
dash==2.1.0
dash_bootstrap_components==1.0.3
dash_core_components==2.0.0
dash_html_components==2.0.0
dash_renderer==1.9.1
dash_table==5.0.0
Flask==1.1.2
matplotlib==3.4.3
numpy==1.20.3
pandas==1.3.4
plotly==5.5.0
PyYAML==6.0
scikit_learn==1.0.2
scipy==1.7.1
seaborn==0.11.2
statsmodels==0.12.2
urllib3==1.26.7

시험을 마친

pip install jinja2

하지만 그 요구 조건은 이미 충족되었습니다.
윈도우즈 시스템에서 이 코드를 실행합니다.

진자는 플라스크의 종속성이고 플라스크 V1.X.X는 다음을 사용합니다.escape진자의 모듈, 그러나 최근에 지원.escape모듈이 최신 버전의 Jinja에서 삭제되었습니다.

이 문제를 해결하려면 요구 사항에 따라 Flask V2.X.X의 최신 버전으로 업데이트하면 됩니다.플라스크가 더 이상 사용하지 않는 txtescape진자의 모듈.

Flask>=2.2.2

또한 플라스크 V1.X.X는 팀에서 더 이상 지원하지 않습니다.이 이전 버전을 계속 사용하려면 이 Github 문제가 도움이 될 수 있습니다.

이는 Jinja가 2022년 3월 24일에 출시된 최신 버전 3.1.0에서 이러한 기능을 제거했기 때문입니다.

Markup그리고.escapeMarkupSafe에서 가져와야 합니다.

여기에는 두 가지 옵션이 있습니다.

  1. 이 오류는 종속성 중 하나에서 발생합니다.
    먼저 고려해야 할 사항은 위에서 언급한 종속성을 업그레이드하는 것입니다.
    만약 이것이 불가능하다면, 당신이 여기서 할 수 있는 것은 당신의 진자 버전을 여전히 포함하는 버전으로 다운그레이드하는 것입니다.escape예를 들어 요구 사항에 명시적으로 추가할 수 있습니다.txt:

    jinja2<3.1.0
    
  2. 또는 Jinja 릴리스 노트에 제시된 대로 MarkupSafe에서 가져오면 오류를 수정할 수 있습니다.

    그래서, 당신은 사용해야 합니다.

    from markupsafe import escape
    

    대신에

    from jinja2 import escape
    

플라스크 버전을 업데이트하기만 하면 됩니다.

Flask==2.1.0

그래서 저에게 일어난 일은 다음 명령을 사용하여 가상 환경이 활성화된 상태로 복제 허브를 복제하고 플라스크를 설치한 것입니다.pip install -r requirements.txt그러나 서버를 실행하려고 할 때 오류가 발생했습니다.

가져오기 오류: 'jinja2'에서 'escape' 이름을 가져올 수 없습니다.

그래서 제가 한 것은 명령을 실행한 것입니다.pip uninstall flask실행하여 다시 설치했습니다.pip install flask서버를 다시 실행한 다음 작동했습니다.

간단한 솔루션

pip uninstall flask

그리고나서

pip install flask 

가져오기 오류: 'jinja2'에서 'escape' 이름을 가져올 수 없습니다.

이것은 주피터 노트북과 함께 Voila를 사용하는 제게 일어났고 아래의 방법을 사용하여 해결했습니다.

  1. 이 디렉토리로 이동C:\Users\admin\anaconda3\Lib\site-packages\nbconvert\filters\ansi.py
  2. 이 줄을 파일의 첫 번째 줄에 추가하는 중from markupsafe import escape
  3. 이 코드 줄도 변경합니다.text = jinja2.utils.escape(text)text = escape(text)

jinja2를 낮은 안정적인 버전으로 다운그레이드하는 것만으로 문제가 해결되었습니다.

pip install Jinja2==3.0.3

언급

나한테 효과가 있었어요!

!pip install --upgrade babel
!pip install --upgrade python-dateutil
!pip install --upgrade flask-moment
!pip install --upgrade flask-wtf
!pip install --upgrade flask_sqlalchemy

언급URL : https://stackoverflow.com/questions/71718167/importerror-cannot-import-name-escape-from-jinja2

반응형