내 터미널에서 Ubuntu 18.04
~$ python3 --version
Python 3.6.8
~$ python3.6 --version
Python 3.6.8
~$ which python3
/usr/bin/python3
~$ which python3.6
/usr/bin/python3.6
~$ ls -la /usr/bin/python*
lrwxrwxrwx 1 root root 9 apr 16 2018 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root 9 apr 16 2018 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3637680 nov 28 2018 /usr/bin/python2.7
lrwxrwxrwx 1 root root 33 nov 28 2018 /usr/bin/python2.7-config -> x86_64-linux-gnu-python2.7-config
lrwxrwxrwx 1 root root 16 apr 16 2018 /usr/bin/python2-config -> python2.7-config
-rwxr-xr-x 1 root root 385 apr 11 2018 /usr/bin/python2-futurize
-rwxr-xr-x 1 root root 389 apr 11 2018 /usr/bin/python2-pasteurize
lrwxrwxrwx 1 root root 9 ott 25 2018 /usr/bin/python3 -> python3.6
-rwxr-xr-x 2 root root 4571576 gen 14 2019 /usr/bin/python3.6
lrwxrwxrwx 1 root root 33 gen 14 2019 /usr/bin/python3.6-config -> x86_64-linux-gnu-python3.6-config
-rwxr-xr-x 2 root root 4571576 gen 14 2019 /usr/bin/python3.6m
lrwxrwxrwx 1 root root 34 gen 14 2019 /usr/bin/python3.6m-config -> x86_64-linux-gnu-python3.6m-config
lrwxrwxrwx 1 root root 16 ott 25 2018 /usr/bin/python3-config -> python3.6-config
lrwxrwxrwx 1 root root 10 ott 25 2018 /usr/bin/python3m -> python3.6m
lrwxrwxrwx 1 root root 17 ott 25 2018 /usr/bin/python3m-config -> python3.6m-config
lrwxrwxrwx 1 root root 16 apr 16 2018 /usr/bin/python-config -> python2.7-config
Python 3을 두 번 설치한 것 같습니다.
설치 중 하나를 제거할 수 있나요? 어느 것을 삭제할 수 있나요? 이 작업이 시스템에 영향을 미치지 않는지 확인하는 방법은 무엇입니까? (Ubuntu 18.04에서 Python 3을 제거하지 않는 것이 좋습니다.)
답변1
질문 " " /usr/bin/python3 -> python3.6
에서 볼 수 있듯이 python3
예 심볼릭 링크입니다 python3.6
. 공간을 거의 차지하지 않습니다. Python3
당신이 설치한 버전보다 최신 버전에 대한 링크 가 될 것입니다 .python3.x
링크를 제거할 수 있지만 그렇지 않으면 문제가 발생할 수 있습니다.
Python
/usr/bin/python3.6
과 /usr/bin/python3.6m
. 2
이렇게 하면 ls -lia /usr/bin/python*
둘 다 동일한 inode 번호를 갖고 있음을 알 수 있습니다(동일한 파일이지만 두 개의 다른 이름을 가짐). 일부 프로그램은 실행될 때 이름을 확인하고 이름에 따라 동작을 변경합니다.
결론적으로
Python 3이 여러 개 설치되었다는 증거는 없습니다.
답변2
디렉토리에 python3과 python3.6이 있다고 해서 /usr/bin
두 Python이 모두 설치되어 있다는 의미는 아닙니다. 일반적으로 실제 Python 인터프리터는 /usr/bin/pythonX.Y
X가 주 버전이고 Y가 부 버전인 경우 설치됩니다.
귀하의 경우에는 실제로 두 가지 버전의 Python3.6이 설치되어 있습니다: /usr/bin/python3.6
및 /usr/bin/python3.6m
. 앞서 언급했듯이 /usr/bin/python3
이는 /usr/bin/python3m
실행 파일에 대한 심볼릭 링크일 뿐입니다.
이 StackOverflow 항목에서는 두 버전 간의 차이점을 다룹니다.python3과 python3m 실행 파일의 차이점
python3m을 왜 설치했는지는 모르겠지만, python3을 직접 설치하지 않았다면 시스템에서 python3을 제거하지 않을 것입니다.