検索範囲を広げるという概念はありますか?

検索範囲を広げるという概念はありますか?

matplotlib私はpython3.5環境でサイトパッケージの重複インストールを識別しようとしています。

図書館の貢献者(GitHubの問題)使用することをお勧めします

python3.5 -m サイト

find次のコマンドを使用したときに取得されるpython3.5環境のパスを識別します。find ./ -name matplotlib

これはそれがfind何とか関連していることを意味します(公平に見えます)PATH、その方法を説明するオンライン参考資料がないようです。関係があれば特にそうしたいです。拡大する私の環境でfind冗長パスを検索 。matplotlib

ちなみに端末を使うとこうなります。

Anjalis-MBP:~ ahanagrawal$ python3.5 -m site
sys.path = [
    '/Users/ahanagrawal',
    '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip',
    '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5',
    '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin',
    '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload',
    '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages',
]
USER_BASE: '/Users/ahanagrawal/Library/Python/3.5' (doesn't exist)
USER_SITE: '/Users/ahanagrawal/Library/Python/3.5/lib/python/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

答え1

python3.5 -m sitePythonを呼び出すとsite.pysys.pathsys.pathsite-packages

あなたはmatplotlib今この道の1つにいるかもしれません。ただし、python3.4もインストールされている場合はそのディレクトリにある可能性があり、コマンドpython3.5 -m siteはディレクトリを表示しません。したがって、この提案はすべてのmatplotlibインストールを見つけるのに役に立ちません。

コマンドを実行すると、検索を開始したディレクトリの下にfind ./ -name matplotlib指定されたすべてのファイル、ディレクトリなどが検索されます。matplotlibルートディレクトリにあり、/すべてのサブディレクトリに対する読み取り権限がある場合は、すべてのインストールを見つけることができますmatplotlib(ファイル名またはディレクトリ名があると仮定matplotlib)。他の場所でコマンドを実行している場合はそうではありません。例えば

mkdir bla
cd bla
find ./ -name matplotlib

matplotlibがインストールされていることを知っていても、それが見つからないことが保証されています。

試してみることをお勧めします。

cd /
sudo find . -name matplotlib

PATH環境変数は検索位置には影響しませんfind。なぜ「findがPATHに関連していることを意味します」と言われたのかわかりません。

関連情報