내가 실행할 때 :
echo $PYTHONPATH
명령줄에서 다음과 같은 출력을 얻습니다.
/home/nehal/catkin_ws/devel/lib/python2.7/dist-packages:/opt/ros/kinetic/lib/python2.7/dist-packages:/home/nehal/anaconda3/lib/python3.6/site-packages:/home/nehal/anaconda3/lib/python3.6/dist-packages:/home/nehal/anaconda3/lib/python3.6/dist-packages:/home/nehal/anaconda3/lib/python3.6/dist-packages:/home/nehal/anaconda3/lib/python3.5/dist-packages:/home/userx/anaconda3/lib/python3.5/dist-packages:/home/userx/anaconda3/lib/python3.5/dist-packages:/home/userx/anaconda3/lib/python3.5/dist-packages
파일을 확인해 보니 세트가 1개 .bashrc
뿐인 것으로 나타났습니다.PYTHONPATH
export PYTHONPATH="/home/nehal/anaconda3/lib/python3.6/site-packages:$PYTHONPATH"
나도 확인해봤는데 .profile
어디 에서도 찾을 수 /etc/environment
없었어 ./etc/profile
PYTHONPATH
내 질문은 위의 추가 경로가 어디에서 오는가입니다.
답변1
어떤 파일이 열려 있는지 추적하여 bash가 어떤 파일을 가져오고 있는지 확인할 수 있습니다.
strace -e open bash -l
그러면 bash가 열려고 하는 모든 파일이 인쇄됩니다(그 중 대부분은 무시할 수 있는 C 라이브러리입니다). 이것은 어디를 봐야할지에 대한 힌트를 줄 것입니다. (Bash의 "-l" 옵션을 사용하려면 "로그인" 셸로 실행해야 하며, 이로 인해 일반적으로 bash가 더 많은 시작 파일을 구문 분석하게 됩니다.)
답변2
시작되면 "bash"는 여러 파일에서 설정을 로드합니다. 대부분은 일반적으로 "/etc" 디렉터리의 하위 디렉터리에 있습니다. 따라서 다음 명령을 실행하여 "PYTHONPATH"가 포함된 모든 파일을 찾습니다.
grep -R PYTHONPATH /etc 2>/dev/null