Flaskプロジェクトにトークン認証を使用しようとしています。flask_httpauthからHTTPTokenAuthをインポートする際の問題
from flask_httpauth import HTTPBasicAuth # works
from flask_httpauth import HTTPTokenAuth # does not work.
私は次のエラー
ImportError: cannot import name HTTPTokenAuth
を取得し、私は
pip install flask_httpauth --upgrade
を試してみました。しかし、それはすべてが最新のものであると主張しています。 (Flask-HTTPAuth == 3.1.1)
docsは、これをインポートする適切な方法だと提案していますが、何らかの理由で機能しません。どのように私はインポートするトークンの認証を得ることができる任意のアイデア?
編集::使用していた仮想環境を削除して再作成しました。
私はどこでもpythonを使用しています。
問題は解決しません。 Flask_httpauthの古いバージョンがデフォルトで読み込まれていることがわかりました(v3.1.1ではなくv2.2.0)。私はサイトパッケージに入り、HTTPTokenAuthがそこにあり、呼び出されるべきであることを見た。
私はすべてのPythonパッケージ用の私のアプリで呼び出されたバージョンが、それdoesntの仕事をチェックするために
import flask_httpauth
print (flask_httpauth.__version__)
をやってみました、そして、flask_httpauth doesntのは、その機能を持っているようです。
pythonanywhereのWebタブに仮想環境がリンクされている場所にエラーは表示されません。
これが役立つかどうかはわかりませんが、python 3.5.1を使ってきれいなvirtualenvで私にとってはうまくいきます。他の競合するパッケージがインストールされている可能性はありますか?おそらく競合する名前のあなた自身のモジュールですか? –
なぜか分かりませんが、私の推測では、アップグレードを1つのvirtualenvにインストールしてから、アプリケーションを実行するときに別のものを使用することです。 Pythonスクリプトの起動時にシバン行がありますか?どのPythonインタプリタがそこにあるかを確認し、正しいvirtualenvに移動していることを確認してください。 – Miguel
@Migeul私はシバンの行を持っていませんが、私はPythonAnywhere上で実行しています。その行は別の場所にあります。私は自分のサイトのコンソールページに持っていて、コンソールページのサイトにリンクしている仮想マシンに直接bashシェルを開いてインストールしました。 私は、この仮想環境を削除し、うまくインストールされた新しい環境を作成するのに最善のことをすると思います。 ご協力いただきありがとうございます。 – ExperimentsWithCode