Existe tal noção de ampliação onde encontrar pesquisas?

0

Estou tentando identificar instalações redundantes do pacote de site matplotlib em meu ambiente python3.5.

Um colaborador da biblioteca (questão do GitHub) está avisando que eu uso

python3.5 -m site

para identificar os caminhos no ambiente do python3.5 que são pesquisados ao usar o comando find da seguinte forma: find ./ -name matplotlib

Isto implica que find está de alguma forma relacionado a PATH (o que parece justo), mas nenhuma referência online parece explicar como. Se houver um relacionamento, em particular, eu gostaria de ampliar os caminhos em que find procura por redundâncias de matplotlib em meu ambiente.

Apenas para referência, é isso que acontece usando o terminal:

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
    
por Muno 03.06.2016 / 03:46

1 resposta

2

Quando você invoca python3.5 -m site , o python procura por um arquivo site.py no seu sys.path . Este sys.path é uma lista determinada onde o seu python está instalado e por variáveis de ambiente, e vários outros mecanismos, incluindo os que reconhecem pacotes instalados em site-packages .

Agora, seu matplotlib pode estar em um desses caminhos. Mas se você, por exemplo também tem uma instalação python3.4, pode estar sob isso também e o comando python3.5 -m site não exibirá o diretório. Então, esse conselho é inútil para encontrar todas as instalações do matplotlib.

Emitir find ./ -name matplotlib localizará todos os arquivos, diretórios, etc. denominados matplotlib no diretório em que você iniciou a pesquisa. Se você estiver no diretório raiz / e tiver acesso de leitura a todos os subdiretórios, provavelmente encontrará todas as instalações matplotlib (supondo que elas tenham um nome de arquivo ou diretório matplotlib ). Se você emitir o comando de algum outro lugar, você não o fará. Por exemplo. tente

mkdir bla
cd bla
find ./ -name matplotlib

Garantido para não encontrar o matplotlib, embora você saiba que ele está instalado.

É melhor você tentar:

cd /
sudo find . -name matplotlib

Não há influência de sua variável de ambiente PATH em que find pesquisas, e não tenho idéia do porque você declara "Isso implica que a localização está de alguma forma relacionada ao PATH"

    
por 03.06.2016 / 07:57