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

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



답변

의견에서 :

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. 터미널에서 파이썬 버전 확인- 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. 끝난.

답변

/ 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


답변

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

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

답변

쉬운 대답은 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

답변

시스템에 여러 버전의 파이썬이있는 경우. 내부의 파이썬 심볼릭 링크를 업데이트하면됩니다./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


답변

업데이트 대안은 시스템 심볼릭 링크를 사용자 정의 / 관리자 정의 심볼릭 링크로 변경하는 것입니다. 시스템에 여러 버전의 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 버전을 개별적으로 제어 할 수 있습니다.