É uma versão mais antiga do Python uma necessidade? -- acos campo com python camp apple Relacionado O problema

Is an older version of Python a necessity?


2
vote

problema

português

ml 10.8.4 e eu instalei o Python 2.6, 2.7 e 3.3. Eu continuo lendo que é necessário manter a versão 2.6 por aí porque o sistema o usa. No entanto, não encontrei nenhum software que precise além daquele que eu instalei (e posso controlar qual versão que precisa - eu cumpri e instalei o SCIPY para 3.3.2 por exemplo). Então, usando Macports, apontei o link Python para a instalação 3.3.2 para ver se há algo oculto que eu perdi. Eu não tive problemas.

Então eu estou querendo saber se é necessário manter as versões antigas ao redor. Estou ciente de que isso limitará certas versões de scripts Python que eu instalo.

Alguém sabe o que eu definitivamente irá quebrar por ter link Python para 3.3.2 em uma instalação base de ml?

Além disso, suspeito que a versão 2.6 é um grande cabide no Snow Leopard (Machine Migration) como supostamente, ML usa 2.7. Mas não posso confirmar isso.

english

ML 10.8.4 and I have installed Python 2.6, 2.7 and 3.3. I keep reading that it's necessary to keep the the 2.6 version around because the system uses it. However, I've not found any software that needs it other than that which I installed (and I can control which version THAT needs - I complied and installed SciPy for 3.3.2 for example). So, using macports I pointed the python link to the 3.3.2 install to see if there is something hidden that I've missed. I've not had any problems.

So I'm wondering if it's even necessary to keep the old versions around. I am aware that this will limit certain versions of python scripts that I install.

Does anyone know what I definitively will break by having python link to 3.3.2 in a base install of ML?

Also, I suspect that the 2.6 version is an old hanger on from Snow Leopard (machine migration) as supposedly, ML uses 2.7. But I can't confirm that.

     
 
 

Lista de respostas

2
 
vote

Embora haja obviamente diferenças nas diferentes versões do Python, há também diferenças entre o "sistema" python e aqueles que você instala via Python.org, Macports, Homebrew, etc. Todas essas versões "adicionais" podem coexistir Felizmente com as versões do sistema em /System/Library/Frameworks/Python.framework/Versions - eu tenho 2,3, 2.5.6, 2.6.7 e 2.7.2 no meu 10.8.4 iMac que originalmente veio com o leão instalado. /usr/bin/python é 2.7.2.

Basicamente, não há boas razões para se livrar de qualquer um dos pythons do sistema (eles só ocupam ~ 200MB), e algumas razões muito boas para não livrar-se deles. Eles estão incluídos por um motivo, e existem vários utilitários e programas do sistema que dependem deles. Você pode obter comportamento estranho e inexplicado se você removê-los, e coisas vitais podem não funcionar, pois os scripts e bibliotecas Python estão por trás de algumas ferramentas do sistema. O Python foi projetado para ter várias versões vivendo felizmente lado a lado, por isso, se o sistema estiver configurado corretamente (que eu geralmente confio nos engenheiros da Apple para ter feito), não haverá nenhum conflito como hipotético por Outra resposta .

Se você deseja alterar qual versão do Python é executada por padrão quando você digita python no prompt de terminal, altere seu $PATH variável de ambiente para apontar para sua instalação de Escolha, não revela ou alterar cd /path/that/whichphp/gives/you 0 . Por exemplo, eu uso Macports, portanto cd /path/that/whichphp/gives/you 1 está à frente ABCDEFGHIJKLMNABCDEFGHIJKLMN12 no meu ABCDEFGHIJKLMNABCDEFGHIJKLMN13 , então eu nunca executo o "sistema" versão 2.7.2 . Você pode então começar seus scripts com

  cd /path/that/whichphp/gives/you 4   

e ele irá procurar seu caminho para o binário correto.

Você não deve ter problemas em tudo usando o ponto de Macports para sua versão da escolha. Uma coisa que eu sugeriria, no entanto, é manter cd /path/that/whichphp/gives/you 5 apontando para a versão mais recente do Python 2 (2.7.5, atualmente) e use cd /path/that/whichphp/gives/you 6 apontar para 3.3.2 . Sim, você tem que se lembrar de adicionar o cd /path/that/whichphp/gives/you 7 no final do comando, mas vários meses, eu tentei configurar cd /path/that/whichphp/gives/you 8 para py3, e ocasionalmente teria erros estranhos de alguns programas que esperam que o PY2 esteja lá.

Espero que isso ajude a responder sua pergunta real, por favor, deixe-me saber se você precisar de mais alguma coisa.

 

While there are obviously differences in the different versions of Python, there are also differences between the "system" Python and those you install via Python.org, MacPorts, Homebrew, etc. All of these "additional" versions can coexist quite happily with the system versions in /System/Library/Frameworks/Python.framework/Versions - I have 2.3, 2.5.6, 2.6.7, and 2.7.2 on my 10.8.4 iMac which originally came with Lion installed. /usr/bin/python is 2.7.2.

Basically, there is no good reason to get rid of any of the system Pythons (they only take up ~200MB), and some very good reasons to not get rid of them. They are included for a reason, and there are various system utilities and programs that depend on them. You could get strange, unexplained behavior if you remove them, and vital stuff may not work, as Python scripts and libraries are behind some major system tools. Python has been designed to have multiple versions living happily side-by-side, so if your system is set up properly (which I generally trust the Apple engineers to have done), there won't be any conflicts as hypothesized by another answer.

If you want to change which version of Python runs by default when you type python into the Terminal prompt, then change your $PATH environment variable to point toward your installation of choice, do not unlink or change /usr/bin/python. For example, I use MacPorts, so /opt/local/bin is ahead of /usr/bin in my $PATH, so I never run the "system" version 2.7.2. You can then start your scripts with

#!/usr/bin/env python 

and it will search your path for the correct binary.

You should have no problems at all using MacPorts point to your version of choice. One thing I would suggest, though, is to keep /opt/local/bin/python pointing to the latest version of Python 2 (2.7.5, currently), and use /opt/local/bin/python3 point to 3.3.2. Yes, you have to remember to add the 3 on the end of the command, but several months back I tried setting python to Py3, and occasionally would get weird errors from some programs expecting Py2 to be there.

Hopefully this helps answer your actual question, please let me know if you need anything else.

 
 
     
     
1
 
vote

Ter várias versões de Python ao redor não é realmente uma coisa ruim, particularmente se determinados aplicativos podem ter dependências de versão. A principal preocupação seria a de dependências e versões - e indiretamente permissões.

Se você decidir se livrar da versão mais antiga, esteja ciente de que há alguns itens que você precisará para reconfigurar para garantir que tudo seja capaz de trabalhar tão bem quanto antes. Se você está mais preocupado em ter que gerenciar várias versões de Python, recomendaria virtualenv; É uma boa ferramenta para criar ambientes de python isolados.

pro para se livrar do Python 2.6:

  • Apple listed Python 2.6 as security-fix-only (no more updates) • Two versions of Python on the same machine can potentially have conflicts • It's easier to maintain, while potentially freeing up disk space    

pro's para ter duas versões de python:

  • Less worrying about certain applications not working because of broken dependencies • The ability to have different versions of Python! • Having a newer version allows you to use newer/cool packages    

Se você decidir se comprometer a excluir o Python 2.6, verificaria este guia excelente e completo para a atualização: http://wolfpaulus.com/jounal/mac/installing_python_osx

Se você decidir manter as duas versões, então dê uma olhada em virtualenv .

A escolha realmente é, em última instância, até você.

 

Having multiple versions of Python around isn't actually a bad thing, particularly if certain applications might have version dependencies. The main concern would be that of dependencies and versions xe2x80x94 and indirectly permissions.

If you decide to get rid of the older version then be aware there are quite a few items you'll need to reconfigure to ensure everything is able to work just as well as it did before. If you're more concerned with having to manage multiple versions of Python I would recommend virtualenv; it's a nice tool to create isolated Python environments.

Pro's for getting rid of Python 2.6:

xe2x80xa2 Apple listed Python 2.6 as security-fix-only (no more updates) xe2x80xa2 Two versions of Python on the same machine can potentially have conflicts xe2x80xa2 It's easier to maintain, while potentially freeing up disk space 

Pro's for having two versions of Python:

xe2x80xa2 Less worrying about certain applications not working because of broken dependencies xe2x80xa2 The ability to have different versions of Python! xe2x80xa2 Having a newer version allows you to use newer/cool packages 

If you decide to commit to deleting Python 2.6 I would check out this excellent and thorough guide to upgrading: http://wolfpaulus.com/jounal/mac/installing_python_osx

If you decide to keep both versions then have a look at virtualenv.

The choice really is ultimately up to you.

 
 
       
       
-1
 
vote

Eu tenho muita sw "que requer dizer Python 2.6 no Mac OS X 10.8.4". Se o mesmo SW está ou não no seu computador, eu não saberia.

Em um sistema de estoque Se você excluir 2.6 A única maneira de "não quebrar" é se você desinstalá-lo corretamente e, em seguida, instale o outro corretamente . lógica bastante simples para entender eu colito.

 

i got lots of sw "that requires say python 2.6 on mac os x 10.8.4". whether or not that same sw is on your computer i would not know.?

on a stock system if you delete 2.6 the only way it "won't break" is if you uninstall it correctly and then install the other correctly. fairly simple logic to understand i gather.

 
 
   
   

Perguntas relacionadas

2  Appstore API para pesquisa e download?  ( Appstore api for search and download ) 
Eu estou procurando uma API de Appstore, Oficial ou 3ª Parte, que me permitiria procurar (usando palavras-chave) e baixar aplicativos. Eu gostaria de baixar a...

5  O Homebrew Vim com o suporte Python depende do Python 3.7.0, e eu tenho que usar 3.6.5  ( Homebrew vim with python support depends on python 3 7 0 and i have to use 3 6 ) 
Eu tenho que usar python 3.6.5 por causa de uma biblioteca eu uso que mantém mostrando bugs no 3.7.0 (tensorflow). Eu instalei python 3.6.5 usando hom...

1  Erro "criticamente baixo espaço" ao executar o script Python desde a atualização para OSX Mojave  ( Critically low disk space error when running python script since upgrade to os ) 
Eu tenho um problema com um script python que está sendo morto devido a, o que eu acredito, baixa memória disponível, mas espero que seja um bug. Descrição ...

0  Problema do servidor Python Play-with-MPV  ( Play with mpv python server problem ) 
Estou acostumada a usar ABCDEFGHIJKLMNABCDEFGHIJKLMN0 Extensão Chrome no Arch Linux, que funciona também em MacOS. O problema é que não está funcionando com...

0  Erro ao construir phpsh do terminal  ( Error building phpsh from terminal ) 
Estou seguindo as instruções na página do github phpsh Eu navego para o diretório phpsh e executo python setup.py build e eu recebo este erro Traceback...

1  Não é possível criar virtualenv  ( Cant create virtualenv ) 
Eu quero criar um virtualenv, mas não encontra o comando. $ virtualenv venv -bash: virtualenv: command not found Está instalado: $ pip install virtu...

1  Por que eu só tenho pip3, mas sem pip?  ( Why do i only have pip3 but no pip ) 
Eu instalei o Python3 de www.python.org (não através da Bravura). Eu descobri que não tinha pip, só pip3. Como aqui disse https://pip.pypa.Io/en/stable/insta...

1  Instalação Python desarrumada  ( Python installation messed up ) 
De alguma forma, meu python no meu Mac OS X está confuso. Eu estou tentando instalar virtualenv $ pip install virtualenv e isso me dá: Traceback...

3  Nivelador trabalhando com Catalina?  ( Levelator working with catalina ) 
Um grande aplicativo que usamos constantemente e é indiscutivelmente a ferramenta melhor (Free & amp; simples) para ajustar automaticamente os níveis de áudio...

2  Pyautogui não inserindo todos os caracteres ao usar a função de máquina de escrever  ( Pyautogui not entering all characters when using typewrite function ) 
Estamos tentando automatizar a caixa de diálogo SecurityAgent em que estamos inserindo a senha usando o PyautoGui em 10.13 OSX Senha = "12345678" usando ...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.