2

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タブに仮想環境がリンクされている場所にエラーは表示されません。

+1

これが役立つかどうかはわかりませんが、python 3.5.1を使ってきれいなvirtualenvで私にとってはうまくいきます。他の競合するパッケージがインストールされている可能性はありますか?おそらく競合する名前のあなた自身のモジュールですか? –

+2

なぜか分かりませんが、私の推測では、アップグレードを1つのvirtualenvにインストールしてから、アプリケーションを実行するときに別のものを使用することです。 Pythonスクリプトの起動時にシバン行がありますか?どのPythonインタプリタがそこにあるかを確認し、正しいvirtualenvに移動していることを確認してください。 – Miguel

+0

@Migeul私はシバンの行を持っていませんが、私はPythonAnywhere上で実行しています。その行は別の場所にあります。私は自分のサイトのコンソールページに持っていて、コンソールページのサイトにリンクしている仮想マシンに直接bashシェルを開いてインストールしました。 私は、この仮想環境を削除し、うまくインストールされた新しい環境を作成するのに最善のことをすると思います。 ご協力いただきありがとうございます。 – ExperimentsWithCode

答えて

3

ここでPythonAnywhere devは、@ ExperimentsWithCodeのforum postから発見されたソリューションを再ポストするだけです。 PythonAnywhereのエディタからコードを実行しているときに問題が発生していました。これは、virtualenvが指定された "Web"タブで行われている設定とは別のものです。つまり、関連するWebアプリケーションやWebに関連付けられていないコードに関係なく、エディタから任意のコードを実行できます。アプリ。

したがって、@Miguelが提案した解決策は、シバンを使用することでした。

関連する問題