PYTHON
PR

[Python]Flask1.1.2の開発環境が動作しなくなってしまってその解決法

ycsg113XYZ
記事内に商品プロモーションを含む場合があります
スポンサーリンク

Flask1.1.2の開発環境

まずは環境構築

Flaskで動作中のWebサイトがあり、仕様変更をすることに。
しかしPCが変わったため開発環境をあらためて構築することになりました。

幸いにも環境構築手順もあり、ソースコードもGit上に存在するため、さくっとやっちゃおうとそんな感じでした。手順書を使っての環境構築はこれまでも何回もやってきましたしrequirements.txtもあるし、pythonライブラリってrequirements.txtがあれば楽に導入できるのでとても楽ですよね。

ところが動作しない

requirements.txtによるライブラリ導入も無事におわり、いざmain.pyを実行したところコンソールにこれまで見たことのない赤字のメッセージが。

C:\test\testprj\test\venv\Scripts\python.exe C:/test/testprj/test/watch-app/website/main/main.py
Traceback (most recent call last):
  File "C:\test\testprj\test\watch-app\website\main\main.py", line 7, in <module>
    from flask import Flask, request, session, redirect, render_template, url_for, abort
  File "C:\test\testprj\test\venv\lib\site-packages\flask\__init__.py", line 19, in <module>
    from . import json
  File "C:\test\testprj\test\venv\lib\site-packages\flask\json\__init__.py", line 15, in <module>
    from itsdangerous import json as _json
ImportError: cannot import name 'json' from 'itsdangerous' (C:\test\testprj\test\venv\lib\site-packages\itsdangerous\__init__.py)

え、なぜ、これまで動いてたのに~

エラーメッセージを見ると
ImportError: cannot import name 'json' from 'itsdangerous'
というように「dangerous」という文字も見えます。デ、デンジャラス?!危険?

そして解決へ

Flask1.1.2はもう使用してはダメのようなのです。新たにFlask1.1.2をpipしてきた場合、そのままでは使えなくなるようになっているようなので、危険ではない安全なFlask2.0.1以上にすれば解決するようです。

ただしバージョンUpによる検証する時間もないですし、今回のようにどうしても使いたい場合は、requirement.txtに次のおまじないを追加すれば動作可能です。

itsdangerous == 1.1.0

dangerous、、という名前のライブラリ、入れたくないですがしょうがないですよね・・・
早めにライブラリのアップグレードを検証をしていきたいと思います。

スポンサーリンク
ABOUT ME
ひろし
ひろし
都内在中のなんちゃってSE。ギリギリPG。の私が管理者のひろしです。 日々夜遅くまで仕事に追われています。 今日は早く帰りたい・・・
スポンサーリンク
記事URLをコピーしました