저는 프로그래밍하기가 비교적 쉽습니다. 내 손가락 끝이 파랗게 될 때까지 검색했지만 문제의 해결책을 찾지 못하는 것 같습니다.OSX에서 홈베이스에 설치된 Python 2 및 Python 3에서 PATH 문제가 발생했습니다.
나는 OSX에서 파이썬 2와 파이썬 3의 자작 설치 버전을 가지고 있는데, IDLE의 두 버전 모두에서 모듈을 올바르게 임포트 할 수 있도록 내 .bash_profile에서 적절한 PATH/PYTHONPATH를 얻을 수 없다. 그러나 쉘 창에서 Python 2 또는 Python 3을 직접 실행할 때 모듈을 가져올 수는 있습니다. 터미널을 통해 IDLE을 시작하므로 경로를 제대로 초기화해야합니다.
여기 내 .bash_profile
입니다 :
export PATH=/bin:/usr/local/bin:$PATH
export PYTHONPATH=/Users/maverett/Documents/PyModules:/Users/maverett/Dropbox/matrix/:$PYTHONPATH
여기 예를 들어 모듈로 NumPy와 사용, 네 가지 경우에 발생하는 상황. 터미널 작품 python2를 실행할 때 가져 오기
:
$ python2
Python 2.7.5 (default, Jun 28 2013, 19:06:25)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>>
시작 IDLE을 파이썬 2 터미널에서, 나는 또한 NumPy와를 가져올 수 있습니다. 그러나 IDLE 대 sys.path
을 터미널에 비교하면 sys.path
과 다릅니다. 나는 차이를 생성하는 목록을 비교 발견
>>> InIdleNotInTerm
['/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/bin']
>>> InTermNotInIdle
[]
을 그래서 파이썬 2
이야기를 실행하는 IDLE 경로에 하나 추가 디렉토리는
$ python3
Python 3.3.2 (default, Jul 1 2013, 10:53:26)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>>
파이썬 3에 대한 전혀 다른 존재입니다 나는 다음 NumPy와를 가져 오려고 (터미널에서 idle3 입력하여) 파이썬 3 IDLE 시작할 경우
, 내가 얻을
>>> import numpy as np
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
import numpy as np
ImportError: No module named 'numpy'
>>>
무슨 일이 일어나고 있는지
>>> pp(InIdleNotInTerm)
['/Library/Frameworks/Python.framework/Versions/3.3/bin',
'/Library/Frameworks/Python.framework/Versions/3.3/lib/python33.zip',
'/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3',
'/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/plat-darwin',
'/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages']
>>> pp(InTermNotInIdle)
['/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/distribute-0.6.45-py3.3.egg',
'/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/pip-1.3.1-py3.3.egg',
'/usr/local/lib/python3.3/site-packages/distribute-0.6.45-py3.3.egg',
'/usr/local/lib/python3.3/site-packages/pip-1.3.1-py3.3.egg',
'/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python33.zip',
'/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3',
'/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/plat-darwin',
'/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/lib-dynload',
'/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages',
'/usr/local/Cellar/python3/3.3.2/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/setuptools-0.6c11-py3.3.egg-info',
'/usr/local/lib/python3.3/site-packages',
'/usr/local/lib/python3.3/site-packages/setuptools-0.6c11-py3.3.egg-info']
어떤 생각 :
다시 말하지만, 나는 큰 차이가 터미널에서 sys.path
및 IDLE과이 시간을 비교? 내가 해봤 다른 몇 가지 :
는
에 .bash_profile을 변경export PATH=/bin:/usr/local/bin:$PATH
export PYTHONPATH=/Users/maverett/Documents/PyModules:/Users/maverett/Dropbox/matrix/:/usr/local/lib/python3.3/site-packages/:$PYTHONPATH
터미널과 IDLE 파이썬 3에서 모듈을 가져올 수있는 결과지만하려고하기 때문에 파이썬 2 (에 대한 수입 중단 제대로 모든 것을 가져올 수있는에 python3.3/site-packages/
결과에서 단자를 통해 파이썬 3 IDLE 시작)!
를 파이썬 3 버전을 가져옵니다,하지만 난
파이썬 3. 시작이 때마다 싶지 않아 어떤 생각이나 당신이 가지고있는 아이디어는 크게 감사 할 것입니다! 감사합니다 :)
모듈을 pip로 설치 했습니까? 'easy_install'? 그냥 궁금해서. – Droogans
Python 2 또는 3에 따라 pip 또는 pip3과 함께 설치됩니다. – limbsoup