콤푸타/linux

리눅스에서 python3을 python명령으로 실행하기

어둠의다크 2024. 7. 7. 07:44

최근에 wsl을 쓰다가 cli에서 파이썬을 쓸 일이 좀 생겼는데, 리눅스에서(os설치시 기본설치되는) 파이썬은 기본적으로 python3 로 이름지어져 있다.

apt 나 snap 을 사용해서 설치해도 비슷하지 않을까?

실제로 which python3 명령을 통해 확인해보면 /usr/bin/python3 경로에 존재하는 것이 확인된다.

 

여기서 /usr 경로는 음.. 운영체제 관련 파일들이 아닌 일반 실행 파일들이나 라이브러리 파일들이 저장되는 경로라고 생각하면 좋겠다.

/usr/bin 경로는 그 중에서도 실행할 수 있는 명령 파일들이 저장되는 경로다.

실제로 해당 경로를 살펴보면.. 파일이 너무많아서 힘들것 같고

 

우리가 굉장히 자주 사용하는 명령어들 ls, awk, grep 등이 /usr/bin 경로에 존재하고있다.

 
그럼 이 경로에 존재하는 파일들을 우리가 어떻게 파일 이름을 입력하는 것 만으로 실행이 가는할까? 하는 의문이 생기는 것이.. 프로 궁금러로써 좋은 자세일 것이다.
 
답은 "환경 변수" 라는 것인데 아마 컴퓨터에 관심 있는 독자라면 이것에 대해서 잘 알것이라 생각한다. 
리눅스에서 환경 변수를 변경할 수 있는 방법은 다양한데 크게 세 가지 방법이 있다.
 
첫 번째, 쉘에서 일시적으로 추가하는 방법
두 번째, .bashrc 파일을 수정하는 방법
세 번째, .profile 파일을 수정하는 방법
 
여기서 또 .profile 파일은 개인 사용자 별 성정이 저장된 ~/.profile과 전체 사용자에게 공통으로 적용되는 /etc/profile, /etc/profile.d 등이 있는데.. 말이 너무 길어지니까 여기까지 하고
 

* 참고로 리눅스 파일 앞에 . 이 붙은 것은 숨김 처리하겠다는 뜻이다.

 
위 사진을 보면 ls -l 명령과 ls -al 명령으로 확인할 수 있는 파일 목록 중에 . 이 붙은 파일들이 다른 것을 확인할 수 있다.
ls 명령에서 a 옵션은 숨김처리(앞에 .이 들어간) 파일들도 조회하겠다 라는 의미다.

 

아무튼, 중요한 것은 이 /usr/bin 경로가 환경변수에 지정되어 있다는 것이다. 이를 확인하려면

printenv

echo $PATH (path 환경변수만 조회하겠다)

명령을 사용하면 된다.

 위 명령을 잘 살펴보면 /usr/bin 경로가 환경변수에 추가되어 있는 것을 확인할 수 있을것이다.

 

생각해보면 윈도우와 비슷하지 않은가? 윈도우 운영체제에서도

system32 경로 아래에 저장된 실행 프로그램들은 명령으로 간단하게 실행가능하다.

또 path 환경변수에 지정한 경로 내에 있는 파일들은 파워쉘에서 실행이 가능하다!

 

각설하고

자 이제 python3 가 /usr/bin 경로에 존재하고 환경변수에 등록되어 있어 터미널에서 python3 명령을 입력하는 것 만으로 실행이 가능한 것을 알았다.

그럼 우리가 python3에서 3을 빼고 python 만으로 동작하게 하려면 어떻게 해야할까?

리눅스에는 윈도우 바로가기와 비슷한 '링크' 라는 기능이 있다.

여기에는 하드 링크와 소프트 링크(심볼릭 링크) 라는 것이 있는데 또 말이 길어질 것 같으니까.. 나중에 설명하겠다.

 

여기까지 왔다면 이제 우리는 무엇을 해야할지 잘 알고있을 것이다.

/usr/bin 경로로 이동한 후

sudo ln -s python3 python 명령을 사용해 심볼릭 링크 파일을 하나 만들어주자

이렇게 하면 이제 python 파일은 python3 파일의 바로가기 파일이 된 것이고, 이것이 /usr/bin 경로에 존재하므로 터미널에서 python 명령만으로 python3을 실행시킬 수 있게된다.

터미널에서 python 명령을 입력하면 파이썬이 실행되는 것을 볼 수 있다! :D

 

원래는 /usr/bin 경로에 python3의 링크파일을 python이라고 만들면된다! 라고만 얘기하려고 했는데 블로그가 처음이라 글을쓰다보니.. 자꾸 옆길로 새는것 같네요. 

'콤푸타 > linux' 카테고리의 다른 글

[linux] 리눅스 데스크탑 환경  (0) 2024.11.16
[linux] 포트 정보 확인하기  (0) 2024.09.14
패키지 관리자  (1) 2024.07.06
디바이스 마운트  (0) 2022.04.26
무선통신 wi-fi 잡기  (0) 2022.04.25