안경잡이개발자

728x90
반응형

※ 문제 상황 ※

 

  단순히 python3를 실행했을 때와 sudo python3를 실행했을 때, 프로그램이 다르게 실행될 때가 있다. 구체적으로 import 명령어로 불러올 수 있는 패키지의 차이가 있을 때가 있다. 예를 들어 sudo python3 명령어로 프로그램을 실행했을 때는 numpy 패키지가 설치되어 있지 않다고 나오는데, 단순히 python3 명령어로 프로그램을 실행했을 때는 정상적으로 실행되는 사례가 대표적이다.

 

  이럴 때는 which 명령어를 사용하여 각 python3 명령어의 경로를 찾을 수 있다. which 명령어는 리눅스(Linux)에서 특정한 명령어를 실행하기 위한 바이너리(binary) 실행 파일의 경로를 찾아주는 명령어다. which 명령어를 사용했을 때 다음과 같이 다른 경로로 지정되어 있을 것이다. 즉, 두 개의 python3 실행 파일이 다른 것이다.

 

$ sudo which python3
/usr/bin/python3

$ which python3
/home/dongbin/mine/bin/python3

 

※ 해결 방법 ※

 

  그렇다면 만약에 sudo 권한으로 개인 디렉터리에 있는 python3 명령어를 실행하고자 한다면 어떻게 하면 될까? 예를 들어 /home/dongbin/mine/bin/python3의 경로에 있는 python3 명령어를 실행하고자 한다면, 바로 다음과 같이 실행하면 된다.

 

$ sudo /home/dongbin/mine/bin/python3
728x90
반응형

Comment +0