1. ホーム
  2. python

[解決済み] Pythonのsite-packagesディレクトリの場所を見つけるにはどうしたらいいですか?

2022-03-20 06:51:17

質問

site-packages ディレクトリの場所を確認するにはどうすればよいですか?

解決方法は?

site-packagesのディレクトリは2種類あります。 グローバル ユーザーごと .

  1. グローバル site-packages("。 ディストパッケージ ")ディレクトリは sys.path を実行したとき。

    python -m site
    
    

    より簡潔なリストを作成するには getsitepackages から サイトモジュール をPythonのコードで記述します。

    python -c 'import site; print(site.getsitepackages())'
    
    

    virtualenvsを使用する場合 getsitepackages は使用できません。 , sys.path を実行すると、virtualenv の site-packages ディレクトリが正しくリストアップされます。Python 3 では、このように sysconfigモジュール の代わりに

    python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])'
    
    
  2. ユーザーごと site-packages ディレクトリ ( PEP 370 ) は、Python があなたのローカルパッケージをインストールする場所です。

    python -m site --user-site
    
    

    もしこれが存在しないディレクトリを指しているならば、Pythonの終了ステータスをチェックし python -m site --help を参照してください。

    ヒント 実行中 pip list --user または pip freeze --user は、インストールされているすべての ユーザーごとに のサイトパッケージがあります。


実用的なヒント

  • <package>.__path__ を使えば、特定のパッケージの場所を特定することができます: ( 詳細 )

    $ python -c "import setuptools as _; print(_.__path__)"
    ['/usr/lib/python2.7/dist-packages/setuptools']
    
    
  • <module>.__file__ を使うと、特定のモジュールの場所を特定することができます。( )

    $ python3 -c "import os as _; print(_.__file__)"
    /usr/lib/python3.6/os.py
    
    
  • 実行 pip show <package> を実行すると、Debianスタイルのパッケージ情報が表示されます。

    $ pip show pytest
    Name: pytest
    Version: 3.8.2
    Summary: pytest: simple powerful testing with Python
    Home-page: https://docs.pytest.org/en/latest/
    Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
    Author-email: None
    License: MIT license
    Location: /home/peter/.local/lib/python3.4/site-packages
    Requires: more-itertools, atomicwrites, setuptools, attrs, pathlib2, six, py, pluggy