검색 범위를 넓힌다는 개념이 있나요?

검색 범위를 넓힌다는 개념이 있나요?

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.py.​sys.pathsys.pathsite-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와 관련이 있음을 의미합니다"라고 말씀하셨는지 모르겠습니다.

관련 정보