Python 3.x(버전 3.5/3.4.3) 설치 및 제거

Python 3.x(버전 3.5/3.4.3) 설치 및 제거

synaptic방금 기존 기능적 Python 3.4 설치를 사용하여 Ubuntu 14.04에 Python 3.5(및 해당 2908 라이브러리)를 설치했습니다. 설치 후 결과 보기:

$ cd /usr/bin
$ ls -lsAFi python*
393463 0 lrwxrwxrwx 1 root root 18 Jul 2 2014 python -> /usr/bin/python2.7*
394201 0 lrwxrwxrwx 1 root root 9 May 9 2014 python2 -> python2.7*
393228 3272 -rwxr-xr-x 1 root root 3345416 Jun 22 20:51 python2.7*
394075 0 lrwxrwxrwx 1 root root 33 Jun 22 20:51 python2.7-config -> x86_64-linux-gnu-python2.7-config*
398355 0 lrwxrwxrwx 1 root root 16 Dec 21 2013 python2-config -> python2.7-config*
394203 0 lrwxrwxrwx 1 root root 9 Nov 27 11:04 python3 -> python3.5*
394046 3628 -rwxr-xr-x 2 root root 3709944 Oct 14 23:42 python3.4*
394046 3628 -rwxr-xr-x 2 root root 3709944 Oct 14 23:42 python3.4m*
395645 3672 -rwxr-xr-x 2 root root 3754696 Sep 17 19:03 python3.5*
396673 0 lrwxrwxrwx 1 root root 33 Sep 17 19:03 python3.5-config -> x86_64-linux-gnu-python3.5-config*
396677 0 lrwxrwxrwx 1 root root 11 Sep 17 19:03 python3.5-dbg -> python3.5dm*
396678 0 lrwxrwxrwx 1 root root 37 Sep 17 19:03 python3.5-dbg-config -> x86_64-linux-gnu-python3.5-dbg-config*
396676 13164 -rwxr-xr-x 1 root root 13455475 Sep 17 18:58 python3.5dm*
396679 0 lrwxrwxrwx 1 root root 35 Sep 17 19:03 python3.5dm-config -> x86_64-linux-gnu-python3.5dm-config*
395645 3672 -rwxr-xr-x 2 root root 3754696 Sep 17 19:03 python3.5m*
396674 0 lrwxrwxrwx 1 root root 34 Sep 17 19:03 python3.5m-config -> x86_64-linux-gnu-python3.5m-config*
394206 0 lrwxrwxrwx 1 root root 10 Nov 27 11:12 python3m -> python3.5m*
398354 0 lrwxrwxrwx 1 root root 16 Dec 21 2013 python-config -> python2.7-config*

--> ...일부 심볼릭 링크 + 2개의 하드 링크(인덱스 노드: 394046 및 395645).

내 질문:

  • pythonX.Y와 pythonX.Ym 파일이 공존하는 이유는 무엇입니까? 두 이름을 모두 사용 python3.4하여 python3.4m동일한 저장된 콘텐츠(하드 링크)를 가리킵니다. python3.5및 에도 마찬가지입니다 python3.5m. 그러면 python3.4mand 의 용도는 무엇입니까 python3.5m?

  • 문제를 일으키지 않고 Python 3.4와 해당 라이브러리를 제거할 수 있나요? 어떻게? (예를 들어, 시냅틱을 사용하는 경우 Python 3.4에 "제거"를 표시하면 많은 역방향 종속성, 즉 필요한 패키지가 자동으로 제거됩니다. 따라서 그럴 필요가 없습니다.)

편집하다:
Python 3.5(Ubuntu 사용자가 일반적으로 사용할 수 없는 패키지)를 어디서 구했는지에 대한 질문에 답하기 위해 .ppas는 Python 3.5와 함께 하나의 패키지에만 사용되기 때문에 패키지 소스 /etc/apt/sources.list를 나열하지 않았습니다. /etc/apt/sources.list.d다름: 다음

에 위치한 Canonical에서http://ubuntu.cica.es/ubuntu/, 달리 명시하지 않는 한: (그리고deb-src)
- 신뢰할 수 있는 주로 제한됨
- 신뢰할 수 있는 업데이트가 주로 제한됨
- 신뢰할 수 있는 유니버스
- 신뢰할 수 있는 업데이트된 유니버스
- 신뢰할 수 있는 다중 우주
- 신뢰할 수 있는 업데이트된 다중 우주 -
신뢰할 수 있는 보안이 주로 제한됨
- 신뢰할 수 있는 보안 유니버스
- 신뢰할 수 있는 보안
다중 우주http://archive.canonical.com/ubuntu
제3자 소프트웨어 의 신뢰할 수 있는 파트너 : (그리고deb-src)
--http://extras.ubuntu.com/ubuntu
타사의 신뢰할 수 있는 주요 소프트웨어: (오직)
-http://archive.getdeb.net/ubuntu신뢰할 수 있는 getdeb 애플리케이션
-http://ubuntu.cica.es/ubuntu/믿을 수 있는 백포트 Main Universe Multiverse Limited

답변1

이 페어링의 이유는 다음과 같습니다.

394046 3628 -rwxr-xr-x 2 root root 3709944 Oct 14 23:42 python3.4*
394046 3628 -rwxr-xr-x 2 root root 3709944 Oct 14 23:42 python3.4m*

다음과 같이 진행됩니다. "3.4m"은 정확히 "3.4"입니다.피마락에서 언급했듯이메일링 리스트 아카이브: 답장: l = range(int(1E9)). 그러면 "m" 접미사가 자동으로 추가됩니다(주석 참조).Python 3.4 및 pymalloc을 사용하여 개발/boost-python).

예를 들어 같은 질문을 받았는데python3.4 및 python3.4m #32402(Homemade) 누군가가 여기에 더 자세한 답변을 지적했습니다.PEP 3149 - .so 파일 태그가 지정된 ABI 버전. 이 PEP 페이지에서 이론적 근거는 공유 라이브러리에서 사용되는 이름에 영향을 미치는 다양한 제안 변경 사항에 대한 컨텍스트로 링크 사용을 설명합니다.

패키지 제거에 관해서는 다음과 같습니다.

  • Ubuntu 14.04(설명에서 언급했듯이)는 python3.5를 제공하지 않습니다(python3.4는 제공합니다).
  • 기본 Ubuntu 14.04에서 python3.4를 제거하면 synaptic(첫 번째 힌트) Firefox를 포함하여 약 100개의 패키지가 제거됩니다.
  • 나는 실제로 apt-get먼저 사용한 다음 조정했지만 aptitude그것이 synaptic충분히 가깝게 작동했다는 것을 읽었습니다 aptitude. 그리고 빠른 확인을 통해 몇 배의 규모이기는 하지만 그렇게 하는 것으로 나타났습니다.느리게.
  • syntaptic따라서 다음을 사용하여 python3.5를 설치한 synaptic경우다른이러한 추가 저장소에서 제공하는 패키지는 무엇이며 해당 패키지를 다음과 같이 인식하는지 여부호환 가능또는 유효한 업그레이드.

관련 정보