2011-12-16 3 views
2

지난 몇 달 동안 저는 프로그래밍의 대부분을 수행하기 위해 Wing IDE를 사용하도록 설정했습니다. 주로 wxPython과 잘 작동하기 때문에 Wing을 선택했습니다. 터미널과 함께 TextWrangler를 사용할 때보 다 훨씬 빨리 디버깅 할 수있었습니다. 그러나 Wing의 단점은 범용 빌드를 32 비트 모드로 실행하도록하는 만족스러운 방법이 없다는 것입니다. wxPython 2.8.x (32 비트 전용)를 사용하고 있으므로 파이썬의 32 비트 전용 버전을 실행 파일 (2.7.1)로 사용하고 있습니다. 파이썬 표준 라이브러리와 wxPython만을 사용하는 한 아무 문제가 없지만이 32 비트 버전의 Python을 사용하기 위해 제 3 자 모듈을 설치하기 시작할 때 문제가 발생합니다. 나는 macports를 사용하여 설치하는 모든 일을하고 싶지만 다운로드 한 macport는 보편적 인 파이썬의 다른 버전에서만 사용할 수있는 모듈을 설치하는 것처럼 보입니다. 기본적으로 다음이 MacPorts를에 대한 질문은, 나는 다음 두 가지 사항에 대한 설명을 감사하겠습니다 :얼마나 많은 macports 설치가 필요합니까?

  1. 내 컴퓨터에 파이썬의 세 가지 버전 (예를 들어 2.6, 2.7 및 3.2)을 원하고, 사용하려는 경우 macports 각각에 대한 모듈을 설치하려면 3 개의 별도 버전의 macports가 필요합니까 - 각 python에 하나씩?
  2. 제가 맞다면 (1) 어떻게 별도의 버전을 설치해야합니까? 나는 macports 웹 사이트를 살펴 봤지만 어떤 버전의 파이썬을 사용하고 싶은 다른 버전에 대한 참조는 찾을 수 없다.

도움을 주셔서 감사합니다.

답변

3

파이썬 설치 /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7은 MacPorts와 거의 관계가 없습니다. python.org 설치 프로그램에서 설치 한 것일 수 있습니다. 패키지를 패키지에 설치하려면 the Distribute package 및/또는 pip을 사용하여 easy_install의 별도 버전을 설치하고 해당 Python 인스턴스 용 패키지를 직접 설치해야합니다. 해당 버전은 프레임 워크 bin 디렉토리에 설치됩니다. /Library/Frameworks/Python.framework/Versions/2.7/bin. MacPorts에서 Python 패키지를 관리 할 수 ​​없습니다. MacPorts Pythons에서만 작동합니다 (즉, /opt/local/bin).

그래서 세 가지 버전의 Python 2.7이 설치되어있는 것으로 보입니다. Apple이 제공 한 시스템 Python /usr/bin/python2.7, MacPorts가 설치된 버전 /opt/local/bin/python2.7/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 (아마도 python.org의) /usr/local/bin/python2.7에 심볼릭 링크가있을 수 있습니다. 세 가지가 모두 설치되어 있고 세 가지가 공존 할 수 있다는 점에 본래부터 잘못된 점은 없습니다. 셸 경로를 관리하거나 각각의 절대 경로를 사용하거나 설치된 추가 패키지가 올바른 Python의 site-packages 디렉토리에 설치되어야 함을 명심하십시오. easy_install 또는 pip을 사용하는 경우 각각에 대해 올바른 것을 설치 및/또는 사용해야합니다.

목표가 wx-python이고 파이썬 2.7 인 경우 더 이상 사용되지 않는 OS X Carbon API에 대한 의존성 때문에 wx-python의 32 비트 전용 버전 빌드에 대한 MacPorts 문제가 있습니다. 64 비트 모드에서 작동해야하는 wxWidgets의 코코아 버전 인 a new MacPorts port이있는 것으로 보입니다. 실험 해 볼 수도 있습니다.

sudo port selfupdate 
sudo port install py27-wxpython-devel 
+0

좋아요, 명확히하기 위해 :/opt/local/bin을 검사했을 때 macports는 파이썬의 세 가지 버전 인 2.4, 2.6, 2.7을 설치했습니다. 내가 관심있는 것은 2.7이며 유니버설 빌드입니다. 이것은 원래 게시물에 언급 된 문제로 인해 불행합니다. 다음 두 가지 중 하나를 할 수있는 것처럼 보입니다 : macports를 잊어 버리고 Ned를 제안하거나, 어떻게 든 macports 버전의 python2.7 32 비트 만 설치하면 4 개의 macports 비단뱀이 생깁니다. 후자의 옵션이 가능한가? –

+0

32 비트 전용 MacPorts python2.7을 빌드 할 수 있어야하지만 약간의 노력이 필요합니다. MacPorts가 모든 종속 패키지의 64/32 비트 범용 버전을 설치했는지 확인해야합니다. ''py27-wxpython-devel' 포트가 작동하여'wx'가 OS X에서 미래를 얻는 것이 분명히 필요하다면 더 좋을 것입니다. 작동하는지 아닌지 알려주세요. 그렇지 않다면 빌드하려고 시도 할 수 있습니다. MacPorts 용 32 비트 전용 버전 (지금은 그럴 시간이 없습니다). 또한 * python.org에서 32 비트 전용 2.7을 사용하는 경우 Lion (Xcode 4 포함)에 다른 문제가 발생합니다. –

+0

-devel 루트를 사용하려고했지만 이미 문제가 발생했습니다 : '충돌하는 포트가 설치되어 있으므로 wxWidgets-devel을 설치할 수 없습니다 : wxWidgets'. 이에 대해 별도의 질문을 게시했습니다. –

3

아니요 별도의 버전의 macport를 필요로하지 않으므로 파이썬의 개별 버전이 필요합니다. 그것을 할 수

지우기 단계 :

  1. 는 MacPorts를 설치합니다. 그 후에는 port 명령을 사용할 수 있어야합니다. Mac 용 설치 프로그램을 사용하는 경우 경로에 처음으로 /opt/local/bin이 있어야합니다.
  2. 2.6 파이썬 설치 - 당신이 다음 기본값으로 python27을 사용하려면 당신은 /opt/local/bin/python2.7

  3. 을 통해 python27을 사용할 수 있습니다 당신은 /opt/local/bin/python2.6

  4. 을 통해 python26을 사용할 수 있습니다 sudo port install python27

  5. -2.7 파이썬 설치 sudo port install python26
  6. sudo port python-select python27하십시오. 이렇게하면 이 /opt/local/bin/python2.7에 연결됩니다.

Mac은 제거되지 않은 기본 Python 설치와 함께 제공됩니다. /usr/bin/python에서 액세스 할 수 있습니다.

Macports는 도구를 경로 /opt/local에 설치하고 바이너리를 /opt/local/bin에 설치합니다. 이제는 여러 버전의 파이썬이 있고 서로 다른 위치에 있으므로 어느 것을 실행할 지 선택할 수 있습니다.

특정 버전의 Python과 함께 설치된 패키지는 해당 사이트 패키지에 포함될 것이며 다른 버전의 Python 설치에서는 사용할 수 없습니다.

[편집 : 의견에 따라]

나는 표준 파이썬 설치의 여러 버전이있다.python2.5와

~ $ /usr/bin/python 
python   python2.5   python2.6   pythonw   pythonw2.6   
python-config  python2.5-config python2.6-config pythonw2.5 

, 내가 얻을 :

python2.6와
>>> print platform.architecture() 
('32bit', '') 
>>> sys.maxint > 2**32 
False 

, 내가 얻을 :

>>> print platform.architecture() 
('64bit', '') 
>>> sys.maxint > 2**32 
True 

가에있는 참고를 참조하십시오 - http://docs.python.org/library/platform.html

+0

감사합니다. 필자가 가지고있는 문제는 python2.7의 두 버전 중 하나가 32 비트 만있는 반면 다른 하나는 보편적이라는 것입니다. 이 두 버전 중 어떤 것을 빌드하고 싶은지 지정하는 방법입니다. 현재 python2.7을 지정하는 것은 32/64 비트 버전으로 기본 설정되어있는 반면, 필자가 필요로하는 것은 다른 것입니다. –

+2

또한 다양한 MacPorts python 패키지의 포트 이름은 일반적으로 'pynn-packagename'이라는 이름 체계에 따르며, 여기서 nn은 Python 버전을 의미합니다 (예 :'py27-distribute' (2.7) 및' py32-distribute' (3.2에 대해). 역사적인 이유로'py-packagename' 포트 (번호 없음)는 일반적으로 Python 2.4 버전입니다. –

+0

@Ned Deily : Thanks Ned! 그것은 macport 문서에서 쉽게 찾을 수없는 패키지의 명명 규칙을 삭제합니다. – pyfunc

관련 문제