アプリケーションで次の形式を使用すると、PyCharmsの解決/オートコンプリート機能を除いてすべてが機能します。
from flask.ext.sqlalchemy import SQLAlchemy
アプリケーションで次の形式を使用すると、すべてが機能します。しかし、残念ながら、ライブラリをインポートする正しい方法ではありません。
from flask_sqlalchemy import SQLAlchemy
PyCharmに最初の構文を正しく解決させる方法はありますか?
_flask.ext
_名前空間はtransistion名前空間です。FlaskExtensionDevelopmentの Extension Import Transitionセクション を参照してください。 =ドキュメント:
しばらくの間、Flask拡張子に名前空間パッケージを使用することをお勧めしました。これは、多くの異なる競合する名前空間パッケージシステムが存在し、pipが異なるシステム間で自動的に切り替わるため、実際には問題があることが判明しました。ユーザーのための問題の。
そして
Flask拡張機能は、拡張機能が新しいパッケージ名に移行できるように、_
flask.ext.foo
_または_flask_foo
_ではなく_flaskext_foo
_からインポートするようにユーザーに促す必要がありますユーザーに影響を与えることなく。
そのため、バージョン間でtransitionに、_flask.ext
_エイリアスが追加されました。これにより、_flask_[name]
_のインポート時に_flask.ext.[name]
_パッケージのインポートが自動的に試行されます。しかし、その移行は今や議論の余地があります。 _flask.ext
_のみに依存しているパッケージはもう見つかりません。
そのため、実際のモジュール名を使用してPyCharmにモジュールの内容をオートコンプリートさせるのは完全に問題ありませんです。
まだ古いバージョンの拡張機能を使用していて、将来互換性が必要な場合にのみ、実際にはhave _flask.ext
_を使用します。その未来はすでにここにあります。
ご参考までに。 flask.ext
は非推奨であり、正しい方法は次のとおりです。
from flask_sqlalchemy import SQLAlchemy
誰かがこれを見つけた場合SO Googleでの質問。
Virtualenvを使用し、PyCharmでプロジェクトにそのvirtualenvを設定します。私はあなたと同じ問題を抱えていて、正しいvirtualenv(flaskとflask_sqlalchemy拡張子を含む)を設定した後、私の問題は解決しました。
PyCharmでプロジェクトのvirtualenvを設定するには( JetBrains Webヘルプから ):
使用可能なインタープリターのリストに既存の仮想環境を追加するにはプロジェクト設定の[プロジェクトインタープリター]ページで、[ 。ドロップダウンリストで、[ローカルの追加]を選択します。
開いた[Select Python Interpreter]ダイアログボックスで、目的のPython実行可能ファイルを選択し、[OK]]をクリックします。
さらに、プロジェクトのルートにrequirements.txtを追加してみてください。その後、PyCharmは、不足している依存関係をインストールするように通知します。