AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 496461
Accepted
piccolo
piccolo
Asked: 2019-01-25 05:37:26 +0800 CST2019-01-25 05:37:26 +0800 CST 2019-01-25 05:37:26 +0800 CST

Como tornar o python3.7 padrão

  • 772

Eu instalei o python3.7, mas não tenho certeza de como torná-lo o python padrão.

Veja abaixo:

~/Documents/robosuite$ python3.7
Python 3.7.1 (default, Oct 22 2018, 11:21:55) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
KeyboardInterrupt
>>> 

~/Documents/robosuite$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Eu quero que o python3.7 apareça quando eu usar o comandopython3

python3 python
  • 4 4 respostas
  • 67786 Views

4 respostas

  • Voted
  1. Best Answer
    Prvt_Yadav
    2019-01-25T07:16:00+08:002019-01-25T07:16:00+08:00

    A solução simples é editar .bashrce colocar esta linha:

    alias python3=python3.7
    

    Sempre que você escrever python3, ele o substituirá por python3.7.

    Ou você pode usar o comando update-alternativesque é preferido, ou seja:

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

    Então aqui python3.7terá maior prioridade então python3.6. Então use:

    sudo update-alternatives --config python3
    

    Pressione a tecla enter se estiver satisfeito

    • 37
  2. AwkwardWhale
    2020-06-06T03:55:23+08:002020-06-06T03:55:23+08:00

    Gostaria de expandir uma resposta anterior , pois as duas abordagens fornecidas não são equivalentes e uma delas pode até quebrar o sistema. O problema é que existem duas coisas diferentes que se pode tentar fazer "alterando a versão padrão do python".

    Resumo rápido

    Adicionar

    alias python3=python3.7
    

    para .bashrc.

    Não use para alterar sua versão padrão do python, pois isso interromperá os aplicativos do sistema .update-alternatives

    Detalhes adicionais

    Alias ​​do Bash

    A primeira é que, para um shell interativo, simplesmente deseja-se abrir facilmente o python desejado escrevendo

    $ python
    

    ou

    $ python3
    

    Isso é feito adicionando a linha

    alias python3=python3.7
    

    para .bashrc. Se alguém estiver usando outro shell, adicione-o ao arquivo de configuração apropriado. Isso também tem a vantagem de que, se causar problemas por qualquer motivo, pode-se simplesmente remover a linha incorreta .bashrce reiniciar o terminal.

    update-alternatives

    A segunda coisa que se pode dizer com "alterar a versão padrão do python" é alterar a versão padrão do python para todos os programas, incluindo aqueles não iniciados a partir de um shell interativo. Este é o resultado da execução

    $ sudo update-alternatives --config python3
    

    No entanto, se você executar isso em uma instalação limpa do Debian/Ubuntu, você notará que o comando retorna

    update-alternatives: error: no alternatives for python3
    

    mesmo se você tiver várias versões do python 3 instaladas via apt. Há uma razão muito boa para isso.

    O problema com isso é que muitos aplicativos do sistema usam python e, dependendo da distribuição exata, muitos usam python 3. Alterar qual versão é chamada python3globalmente pelo comando forçará esses aplicativos a usar essa versão. Embora versões diferentes do python 3 sejam amplamente compatíveis, ainda existem recursos movidos e removidos entre os lançamentos . Se um aplicativo do sistema usar esses recursos, alterar python3para iniciar uma versão mais recente interromperá o aplicativo.

    Teste

    Eu criei uma nova instalação do Ubuntu 18.04 em uma VM. Adicionar o alias do bash não causou problemas imediatos.

    O uso do update-alternativesmétodo causou problemas com o apt. Especificamente, consegui

    ModuleNotFoundError: No module named 'apt_pkg'
    

    Corrigindo seu sistema se você executou o update-alternativesmétodo

    Se corremos update-alternativese quebramos apt, ainda podemos consertar o sistema. Durante meus testes, o terminal ainda pôde ser aberto. Pode-se voltar ao python padrão executando

    $ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.X 1000
    

    onde 3.X é a versão original do python 3 do seu sistema e 1000 é apenas uma alta prioridade para garantir que esteja no topo. Então, pode-se correr

    $ sudo update-alternatives --config python3
    

    e certifique-se de que o python original do sistema esteja selecionado. Reinicie o sistema e ele voltará ao normal.

    • 5
  3. Nakish
    2020-05-19T14:44:49+08:002020-05-19T14:44:49+08:00
    $ sudo su
    $ update-alternatives --install /usr/bin/python python /usr/bin/python3 1
    

    ... quando já python3.7está instalado

    • 1
  4. Shay Agros
    2020-05-20T01:09:06+08:002020-05-20T01:09:06+08:00

    Para máquinas que não possuem o comando update-alternatives, pode-se fazer uma solução rápida e suja como

    sudo ln -sf `which python3.7` `which python3`
    

    Normalmente (pelo menos em todos os casos que vi), python3/python2/python são apenas links simbólicos para o executável python de uma versão específica. Alterar este link simbólico deve alterar o 'python padrão'

    • 1

relate perguntas

  • script sh para executar vários arquivos em vários idiomas

  • python2 e OpenSSL não funcionam juntos no Kali - como consertar?

  • Remova o padrão de lacuna dos arquivos [fechado]

  • Função Python add () de conjunto na compreensão da lista

  • Como obter a versão padrão de um aplicativo no unix

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve