OS X - Por que python não é apropriadamente originado em 'which python'?… e está mais corrompido no python em nível de sistema?

0

TL; DR: Esta string $ PATH está invertida se eu estou tentando usar python 2.7 da versão instalada pelo homebrew?

$ echo $PATH  
/Library/Frameworks/Python.framework/Versions/3.4/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin

Eu usei brew install python para colocar o python 2.7.13 no El Capitan (OS X 10.11), e as coisas estavam funcionando bem por um tempo. Então eu tentei implantar um venv, que foi para o lado, e acho que minha solução de problemas descobriu um problema mais profundo (ou vários). Meu objetivo é ter o Python 2.7.x instalado e funcionando além da instalação do OS X em Python. Eu também estou apontando para pip e venv , além de alguns outros módulos importados para serem instalados com o Python 2.7 instalado também. (Eu entendo mexer com o Python original do sistema pode causar problemas profundos e profundos - então eu gostaria de deixá-lo completamente intocado.)

$ brew info python
python: stable 3.6.5 (bottled), devel 3.7.0b3, HEAD [pinned at 2.7.13]
Interpreted, interactive, object-oriented programming language
https://www.python.org/
/usr/local/Cellar/python/2.7.13 (6,337 files, 87.0MB) *
  Built from source on 2017-02-01 at 19:23:01
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/python.rb

brew info python me mostra que o python 2.7.13 está instalado e fixado. Ótimo. No entanto, se esse for o caso, por que which python aponta para a versão instalada no sistema?

$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python

Verificando $ PATH, parece que algo deu errado ...

$ echo $PATH  
/Library/Frameworks/Python.framework/Versions/3.4/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin

Portanto, meu $ PATH atual é ( <cr> após : para maior clareza):
- /Library/Frameworks/Python.framework/Versions/3.4/bin:
- /Library/Frameworks/Python.framework/Versions/2.7/bin:
- / usr / bin:
- / bin:
- / usr / sbin:
- / sbin:
- / usr / local / bin:
- / opt / X11 / bin:
- / usr / local / git / bin

A ordem correta do $ PATH deve ser - / usr / local / bin:
- /Library/Frameworks/Python.framework/Versions/3.4/bin:
- /Library/Frameworks/Python.framework/Versions/2.7/bin:
- / usr / bin:
- / bin:
- / usr / sbin:
- / sbin:
- / opt / X11 / bin:
- / usr / local / git / bin

De acordo com esta página , eu preciso adicionar export PATH="/usr/local/bin:/usr/local/sbin:$PATH" ao meu .profile , o que me dá três perguntas:
1. Preciso adicionar /usr/local/sbin ao meu $ PATH?
2. Eu pensei que meu $ PATH persistiria através de reinicializações - estou errado?
3. Se eu precisar adicioná-lo a ~/.profile , posso adicioná-lo a ~/.bash_profile ?

Finalmente, aqui está um dos erros que estou vendo agora:

$ vim peuler.py
Traceback (most recent call last):
  File "<string>", line 9, in <module>
  File "/Users/user/.vim/bundle/powerline/powerline/__init__.py", line 6, in <module>
    import logging
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 26, in <module>
    import sys, os, time, cStringIO, traceback, warnings, weakref, collections
ImportError: No module named time
An error occurred while importing powerline module.
This could be caused by invalid sys.path setting,
or by an incompatible Python version (powerline requires
Python 2.6, 2.7 or 3.2 and later to work). Please consult
the troubleshooting section in the documentation for
possible solutions.
Unable to import powerline, is it installed?
Press ENTER or type command to continue

Para mim, isso indica que algo deu errado com a versão do Python instalada pelo sistema - é esse o caso? (Nenhum módulo chamado time ? Isso não pode ser bom ..) Posso apenas ripar todo o Python instalado em homebrew, garantir que a versão instalada do sistema operacional do Python seja pura e reinstalar tudo com o homebrew? ? ... ou o Python do nível do sistema está totalmente levantado?

    
por user3.1415927 13.04.2018 / 19:45

1 resposta

0

Eu ainda não sei se o meu python instalado no sistema está estragado ou não, mas a mudança do PATH resolveu o problema com o plugin vim.

A ordem correta do $ PATH será (novamente, <cr> adicionado após : para maior clareza):
- / usr / local / bin:
- / usr / local / sbin:
- /Library/Frameworks/Python.framework/Versions/3.4/bin:
- /Library/Frameworks/Python.framework/Versions/2.7/bin:
- / usr / bin:
- / bin:
- / usr / sbin:
- / sbin:
- / opt / X11 / bin:
- / usr / local / git / bin

    
por 16.04.2018 / 04:58