OS X - "어떤 Python"에서 Python이 올바르게 작동하지 않는 이유는 무엇입니까? ...시스템 수준 Python에서는 훨씬 더 손상됩니까?

OS X - "어떤 Python"에서 Python이 올바르게 작동하지 않는 이유는 무엇입니까? ...시스템 수준 Python에서는 훨씬 더 손상됩니까?

핵심요약: 홈브류 설치에서 Python 2.7을 얻으려고 하면 이 $PATH 문자열이 거꾸로 보입니까?

$ 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

한때 brew install pythonEl Capitan(OS X 10.11)에 Python 2.7.13을 설치했는데 한동안 잘 작동했습니다. 그런 다음 Venv를 배포하려고 시도했는데 문제가 발생했으며 문제 해결을 통해 더 깊은 문제(또는 여러 가지)를 발견한 것 같습니다. 내 목표는 OS X Python 설치에 추가로 Python 2.7.x를 설치하고 실행하는 것입니다. Python 2.7의 Brew 설치로 설치되는 다른 가져온 모듈 외에도 pipand도 대상으로 삼고 있습니다. venv(시스템의 기본 Python을 망가뜨리면 깊고 깊은 문제가 발생할 수 있다는 것을 알고 있으므로 그대로 두겠습니다.)

$ 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 pythonPython 2.7.13이 설치되고 수정되었음을 보여줍니다. 엄청난. 그런데 그렇다면 왜 which python시스템 설치 버전을 가리키나요?

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

$PATH를 확인해보니 뭔가 문제가 있는 것 같습니다.

$ 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

따라서 현재 $PATH는 다음과 같습니다( 명확성을 위해 <cr>다음과 같습니다 :).
- /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

올바른 $PATH 순서는 다음과 같아야 합니다.
- /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

~에 따르면이 페이지export PATH="/usr/local/bin:/usr/local/sbin:$PATH", my 에 추가해야 하는데 .profile, 이는 세 가지 질문을 제공합니다.
1. /usr/local/sbin$PATH에 추가해야 합니까?
2. 내 $PATH는 재부팅 후에도 유지될 것이라고 생각했습니다. 제가 틀렸습니까?
3. 에 추가해야 하는 경우 ~/.profile대신 에 추가할 수 있나요 ~/.bash_profile?


마지막으로 이것은 지금 보고 있는 오류 중 하나입니다.

$ 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

나에게 이것은 시스템에 설치된 Python 버전에 심각한 문제가 있음을 나타냅니다. 맞습니까? (이름이 붙은 모듈이 없나요 time? 좋지 않아요..) 홈브류에 설치된 Python을 모두 제거하고, OS에 설치된 Python 버전이 순수인지 확인한 다음 홈브류로 모든 것을 다시 설치할 수 있나요? ..또는 시스템 수준 Python이 완전히 탈취된 것인가요?

답변1

내 시스템의 Python 설치가 엉망이 되었는지는 여전히 알 수 없지만 PATH를 전환하면 vim 플러그인 문제가 해결되었습니다.

올바른 $PATH 시퀀스는 다음과 같습니다( 명확성을 위해 <cr>나중에 추가됨 :):
- /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

관련 정보