1

グローバルパッケージにFlask、Babel、Flask-Babelがインストールされています。Pythonを実行していて、これを入力すると、エラーは発生しません

>>> from flaskext.babel import Babel
>>>

仮想環境で、Pythonを起動し、同じコマンドを入力します

>>> from flaskext.babel import Babel
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named flaskext.babel
>>>

問題は、私がNinja-IDEを使用していて、どうやらvirtualenvを使用せざるを得ないことです。フラスコのパッキングシステムを壊さない限り、私は気にしません。

4

4 に答える 4

2

バージョン0.8以降、次のようなFlask拡張機能をインポートすることになっていると思います。

from flask.ext.babel import Babel

古い方法(import flaskext.babel)を試しましたが、うまくいきませんでした。

于 2012-12-23T11:23:15.773 に答える
2

うん!問題を解決しました!

babel.pyファイルの横にあるグローバルLib/site-packages/flaskextに空の_init_pyを作成すると、問題が解決します

ローカル環境からのBabelのインポートは、期待どおりに機能し、グローバル環境でも機能するようになりました。

フラスコext.babelインポートバベルbabel.ext.babelインポートバベルの2つのフォームを使用できます。ただし、*fromflask_babel importBabel*または*importflask_babel*のフォームは機能しません。

C:\Python27でPython2.7を使用するWindows764ビットで実行していることに注意してください。init .pyファイルがないことは、UNIXコンピュータでは問題にならない可能性があります。

于 2012-12-24T15:24:10.720 に答える
1

Flask拡張機能をインポートする古い方法は次のようなものでした。

import flaskext.babel

ただし、名前空間パッケージは「関係するすべての人にとって苦痛すぎる」ため、Flask拡張機能は次のようにインポートできるはずです。

import flask_babel

flask.ext特別パッケージです。の場合import flask.ext.babel、上記の両方のバリアントが試されるため、どのような場合でも機能するはずです。

于 2012-12-23T13:34:21.320 に答える
0

python 3の場合、次のようにインストールします。pip install Flask-Babel次の ようにインポートをインストールした後:fromflask.ext.babel import Babelただし、非推奨の警告が表示されるので、次のようにインポートできます:fromflask_babel import Babel

于 2017-08-17T13:07:39.387 に答える