Python によるパッケージの検索方法
関連する推奨事項:「Python ビデオ 」
これで完了おそらく、コンピュータ上の 1 つの Python だけでなく、さらに多くの仮想環境が存在するため、パッケージをインストールするときに、インストール パッケージのパスに注意を払うことをうっかり忘れてしまいます。まず、バッグを見つけるという問題を解決しましょう。この質問に対する答えは非常に簡単ですが、多くの人はこの原則を知りません。 Python インタープリターのパスが
現在の作業ディレクトリ (pwd コマンドの戻り結果)
Linux でデフォルトの Python を使用している場合、
いくつかの便利な関数
sys.executable 現在使用されている Python インタープリターのパス
sys.path 現在のパッケージの検索パスのリスト
sys.prefix 現在使用されている
例:
>>> import sys >>> sys.executable'/home/frostming/.pyenv/versions/3.7.2/bin/python' >>> sys.path ['', '/home/frostming/.pyenv/versions/3.7.2/lib/python37.zip', '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7', '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7/lib-dynload', '/home/frostming/.local/lib/python3.7/site-packages', '/mnt/d/Workspace/pipenv', '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7/site-packages'] >>> sys.prefix'/home/frostming/.pyenv/versions/3.7.2'
環境変数を使用して検索パスを追加します
If の場合パッケージのパスが上記の検索パス リストに存在しない場合は、パスを PYTHONPATH 環境変数に追加し、複数のパスを次のように区切ることができます (Windows の場合;)。
ただし、PYTHONPATH=/home/frostming/.local/lib/python2.7/site-packages など、異なる Python バージョンのパッケージのパスを PYTHONPATH に追加しないように注意してください。デフォルトの検索パスを優先するため、Python 3 を使用している場合は互換性の問題が発生する可能性があります。
ちなみに、PATH は実行可能プログラムを見つけるために使用される検索パスです。ターミナルでコマンド my_cmd を実行すると、システムはこのパスに my_cmd が存在するかどうかを確認するために PATH 内のパスをスキャンします。プログラムが見つからない、またはコマンドが認識できないというメッセージが表示された場合は、パスが PATH に追加されているかどうかを確認する必要があります。
Python によるパッケージのインストール方法
現在、Python パッケージのインストールには基本的に pip が使用されていますが、pipenv や詩を使用した場合でも、最下層は依然として pip です。常に適用されます。 pip をインストールしていない場合はこちらを、インストールしても pip コマンドが使用できない場合は前のセクションを参照してください。
pip を実行するには 2 つの方法があります:
pip ... python -m pip ...
最初の方法と 2 番目の方法は似ていますが、最初の方法で使用される Python インタープリターが異なる点です。 pip では、通常、pip パスが
その後、カスタム構成を追加せずに、pip を使用してパッケージをインストールすると、
pip のインストール場所を変更するオプション
# -- プレフィックス PATH、
# に直接指定します# #仮想環境
仮想環境は、依存関係の競合を防ぐために、さまざまなプロジェクトの依存関係パッケージを分離し、それらを別のパスにインストールします。 Python がパッケージをインストールする方法を理解した後は、仮想環境 (virtualenv、venv モジュール) の原理を理解するのは難しくありません。実際、virtualenv myenv を実行すると、新しい Python インタープリターが myenv/bin にコピーされ、myenv/lib、myenv/lib/pythonX.Y/site-packages などのディレクトリが作成されます (コピーには venv モジュールは使用されませんが、結果は基本的には同じです)。 source myenv/bin/activate を実行すると、myenv/bin が PATH の前に挿入され、コピーされた Python インタプリタが最初に検索されます。こうすることで、後でパッケージをインストールするときに、要約
ここで、パッケージ パスの検索で最も重要なのは
さて、冒頭の 3 つの質問に戻りますが、皆さんは解けますか?トラブルシューティングの手順または解決策をコメント領域に記入してください。
この記事の例ではすべて Unix パス規則を使用しています。Windows システムの場合は、適切な変更を行う必要があります。たとえば、
以上がPythonでインストールされたパッケージを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。