最新のPyCharm CEを使用しており、virtualenv
で使用しています。 virtualenv
でインタープリターとしてインタープリターを定義しました。 PyCharmのProject Interpreterウィンドウには、インストールしたすべてのパッケージが一覧表示されます。 pip freeze > requirements.txt
を実行し、パッケージを手動で実行して、これを確認しました。
私の問題は、PyCharmがFlask-Login
のような特定のインクルードをエディターウィンドウに見つけられないことです。
from flask.ext.login import current_user, login_user, logout_user, login_required
では、インクルードcurrent_user, login_user, logout_user, login_required
はすべて未解決の参照としてマークされます。
何か不足していますか?
この問題は、PyCharmが仮想環境の障害のある「インタープリターパス」を選択することにある可能性があります。ここに行く:
PyCharm (menu) -> Preferences (Menu option)
-> Project: <name> (Dropdown)
-> Project Interpreter (Menu option)
-> 'Settings' button (Looks like a gear)
-> More (Menu option)
-> Select your virtualenv interpreter
-> Click 'Show paths for interpreter' button (on bottom of list window)
これで(間違いなく曲がりくねった場所)にいるので、このインタープリターによって使用されているパスが表示されるはずです。私の理論が正しい場合、これらはグローバルなシステムの場所を指しています。仮想環境のパスを追加するには、+
ボタンをクリックして、仮想環境内に存在する対応するパスを追加する必要があります。これが完了したら、グローバルシステムパスを選択し、-
をクリックして削除することをお勧めします。 [適用]をクリックし、File -> Invalidate caches / Restart
に移動してPyCharmをリロードします。
これにより、インタプリタがvirtualenvにインストールしたライブラリの正しい場所を指すようになり、インポートエラーが発生することはなくなります。この修正を行っても、Project Interpreter
の下にライブラリは表示されませんが、ロードされるはずです。
最近この問題に苦労したので、このトピックに関する私の2セント。ナサニエル・フォードの答えは、この部分を除いて良いものです:
-> Select your virtualenv interpreter
私には不明瞭でした。
私は何度か試しました
~/.virtualenvs/python-audition-2.9/bin/python
一方、それは
~/.virtualenvs/python-audition-2.9/local/bin/python
後者のパスの.../local/...
に注意してください。私の場合、それは本当に重要でした。そして、File -> Invalidate caches / Restart
を忘れずにPyCharmをリロードしてください。
私にとって、最も簡単な解決策は、ルートディレクトリでプロジェクトを開くことでした(私のプロジェクトにはサーバーディレクトリとクライアントディレクトリがあるため、ルートディレクトリには両方が含まれています)。ルートディレクトリでプロジェクトを開くと、慣例により使用されるため、pycharm設定を台無しにせずに依存関係を見つけることができます。
Preferences -> Project -> Project Interpreter
を開いて、そこにモジュールが表示されていますか?
はいの場合、プロジェクトのどこかにflask.ext.login
と同じ名前の別のファイルがある可能性があります。これにより、pycharmは実際のモジュールを見つけられなくなります。
いいえの場合は、インタープリターの横の...
をクリックしてmore...
を選択し、インタープリターを選択し、下部(フィルターの横)でShow paths for the selected interpreter
をクリックして、パスを追加できますそこにあなたのモジュールの。
既存の仮想環境をプロジェクトに割り当てることができませんでしたが、
ファイル->設定->プロジェクトインタープリター->すべて表示->「+」をクリック
新しい仮想環境を作成したり、既存の仮想環境を選択したりするには、既存の仮想環境を割り当てて使用することができます。
別のプロジェクトを開くたびに、以前に作業していたプロジェクトのvenvがまだ残っていることに気付きました。
私がやることは:
ctrl-alt-s(設定に入る)、次にプロジェクトインタープリター/設定(歯車アイコン)、すべて表示してから、現在のプロジェクトではないすべてのvenv環境を削除します(-記号を使用)。再起動すれば、準備完了です。