우분투에서 Python3 기본 버전 변경


72

Ubuntu 16.04 LTS를 사용하고 있습니다. 나는 한 python3설치. 이 설치에는 두 가지 버전이있다, python 3.4.3하고 python 3.6. python3명령을 사용할 때마다 python 3.4.3기본적으로 걸립니다 . python 3.6와 함께 사용하고 싶습니다 python3.

python3 --versionversion 3.4.3

ansible어떤 지원을 설치 하고 version > 3.5있습니다. 따라서 터미널에 입력 할 때마다 오류로 인해 오류가 발생합니다.python 3.4


python 3.6을 실행하는 데 사용되는 명령은 무엇입니까?

명령은 다음과 같습니다 - python3.6
codeclue

3
당신은 무엇을 sudo update-alternatives --config python3말합니까?
Mikael Kjær

1
업데이트 대안 : 오류 : python3에 대한 대안 없음
codeclue

특정 버전의 python3에서 ansible을 사용하는 방법에 대한 아래 답변에서 내 의견을 참조하십시오. 파이썬 3.4 제거를 고려할 수도 있습니다.
Mikael Kjær

답변:


96

의견에서 :

sudo update-alternatives --config python

오류가 표시됩니다.

update-alternatives: error: no alternatives for python3 

를 업데이트해야합니다 update-alternatives. 그러면 기본 파이썬 버전을 설정할 수 있습니다.

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2

그런 다음 다음을 실행하십시오.

sudo update-alternatives --config python

python3.6을 기본값으로 설정하십시오.

또는 다음 명령을 사용하여 python3.6을 기본값으로 설정하십시오.

sudo update-alternatives  --set python /usr/bin/python3.6

1
이 답변은 아마 깨질 것입니다 apt. 다른 버전의 파이썬을 선택한 후 실행을 시도하십시오 sudo apt update. 그것이 당신 ModuleNotFoundError: No module named 'apt_pkg'에게 가고 싶은 것처럼 당신에게 에러를 주면 /usr/lib/python3/dist-packages, 심볼릭 링크를 만드십시오 : ln -s apt_pkg.cpython-{34m,36m}-x86_64-linux-gnu.so.
Giacomo Alzetta

그것은 나에게 오류를 준다 : $ sudo update-alternatives --set python /usr/bin/python3.6 update-alternatives: error: no alternatives for python어떤 제안?
Slava Fomin II

1
@ GAD3R 감사합니다. 파이썬 3.6을 가리 키기 위해 수동으로 심볼릭 링크를 만들었습니다. 또한 3.7이 설치되어 있지 않습니다.
Slava Fomin II

이 방법으로 python3지적하는 것은 나를 위해 python3.8파산 gnome-terminal했습니다.
Boris

10

아래의 간단한 단계를 적용하여이 작업을 수행 할 수 있습니다.

  1. 터미널에서 파이썬 버전 확인- python --version
  2. 루트 사용자 권한을 얻습니다. 터미널 유형에서-sudo su
  3. 루트 사용자 비밀번호를 기록하십시오
  4. 이 명령을 실행하여 Python 3.6으로 전환하십시오-
    update-alternatives --install /usr/bin/python python /usr/bin/python3 1
  5. 파이썬 버전 확인- python --version
  6. 끝난.

1
작동하고 읽기 쉽고 별칭을 사용하지 않습니다. +1
Carlos Pinzón

우분투 18.04에서 잘 작동합니다. 다른 솔루션보다 간단합니다. 감사합니다
Mohammad Heydari

7

/ usr / bin / python3에 대한 심볼릭 링크를 만듭니다. 내 LinuxMint에서 :

# ls -lh /usr/bin/python3 /usr/bin/python
lrwxrwxrwx 1 root root 9 ноя 24  2017 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root 9 сен  6  2017 /usr/bin/python3 -> python3.5

# mv /usr/bin/python
# cp /usr/bin/python3 /usr/bin/python
# python --version
Python 3.5.2

6

이 명령을 사용하면 도움이 될 수 있습니다.

  1. 파이썬 버전을 확인하십시오. ls /usr/bin/python*
  2. 별명: alias python='/usr/bin/pythonxx'
  3. 재 로그인: . ~/.bashrc
  4. 파이썬 버전을 다시 확인하십시오. python --version

감사하지만 컴퓨터를 주요 파이썬을 다시 시작하면 전 파이썬 2.7 여전히 것 이후
모하마드 헤이 다리

3

쉬운 대답은 python3.6의 별칭을 추가하는 것입니다.

~ / .bashrc : 파일에이 행을 추가 alias python3="python3.6"한 다음 터미널을 닫고 새 행을여십시오. 이제 입력 python3 xxx하면로 번역됩니다 python3.6 xxx.

이 솔루션은 시스템을 너무 많이 조정할 필요없이 문제를 해결합니다.

편집하다 :

으로 미카엘 케아는 지적이 시스템에 ansible의 잘못이다.

여기에서 볼 수 있듯이 :

세트 ansible_python_interpreter는 / usr / 빈 / python3에 구성 옵션을 선택합니다. ansible_python_interpreter 구성 옵션은 일반적으로 호스트 당 호스트 또는 호스트 그룹과 연관된 인벤토리 변수로 설정됩니다.

  # Example inventory that makes an alias for localhost that uses python3
  [py3-hosts]
  localhost-py3 ansible_host=localhost ansible_connection=local

  [py3-hosts:vars]
  ansible_python_interpreter=/usr/bin/python3

구성 파일에 대한 여기에서 볼 수 있듯이 :

다음 순서로 처리되는 구성 파일에서 변경하고 사용할 수 있습니다.

* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg

사실, 난 단지> 파이썬 3.5을 지원하는 ansible 설치하고
codeclue

1
ansible_python_interpreterpython3.6을 사용 하도록 변수를 설정할 수 있습니다 . docs.ansible.com/ansible/latest/python_3_support.html
Mikael Kjær

@ MikaelKjær 방금 답변에 댓글을 추가했습니다

1

시스템에 여러 버전의 파이썬이있는 경우. 내부의 파이썬 심볼릭 링크를 업데이트하면됩니다./usr/bin/

root@irshad:/usr/bin# ls -lrth python*
lrwxrwxrwx 1 root root    9 Apr 16  2018 python -> python2.7
-rwxr-xr-x 1 root root 3.6M Nov 12  2018 python2.7
-rwxr-xr-x 2 root root 4.4M May  7 14:58 python3.6

위의 예에서 출력이 표시되면 python2.7python --version 을 얻습니다.

이제 아래 명령을 사용하여 파이썬 심볼릭 링크를 업데이트하십시오.

root@irshad:/usr/bin# unlink python
root@irshad:/usr/bin# ln -s /usr/bin/python3.6 python
root@irshad:/usr/bin# python --version
Python 3.6.8

0

업데이트 대안은 시스템 심볼릭 링크를 사용자 정의 / 관리자 정의 심볼릭 링크로 변경하는 것입니다. 시스템에 여러 버전의 python3이 설치되어 있고 python3이 호출 될 때 호출 할 python3 버전을 제어하려는 경우. 다음을 수행하십시오

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.4 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2

나중에 우선 순위를 변경하려면 아래 명령을 실행하십시오.

update-alternatives --config python3

설명:-

sudo update-alternatives --install <symlink_origin> <name_of_config> <symlink_destination> <priority>

name_of_config를 python4로 변경해도 python4와 함께 update-alternatives --config를 호출하여 재구성해야합니다.

이 방법을 사용하면 시스템 Python 버전과 python3 버전을 개별적으로 제어 할 수 있습니다.


0

첫 번째 확인은 python3.6 폴더입니까

ls /usr/bin/python3.6

python3.6과 같은 폴더가 있다면 좋습니다.

그런 다음 업데이트 대안

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1

이제 python3의 새 구성을 업데이트하십시오.

sudo update-alternatives --config python3

파이썬 버전 확인

python3 --version


0

ln -sf python3.6 python3내부를 통해 단순 링크를 변경할 수 있습니다 /usr/bin. 이것으로 전화 할 때 python3그것을 실행됩니다python3.6

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.