是否有扩大查找搜索范围的概念?

是否有扩大查找搜索范围的概念?

我试图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 site,python 会site.py在您的sys.path.这sys.path是一个由环境变量和各种其他机制(包括识别安装在site-packages.

现在你matplotlib可能正走在其中一条道路上。但是,如果您还安装了 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 相关”

相关内容