Python 패키지 설치에 pip 대 MacPorts 사용


12

나는 (파이썬 패키지를 설치할 수 있습니다 예를 들어 , numpy내 Mac에서 하나 MacPorts를 통해) :

port install py-numpy

또는 통해 pip:

pip install numpy

각 접근법의 일반적인 장단점은 무엇입니까? 각 접근법을 언제 사용해야합니까?

  • 언제 다른 것을 선호해야합니까?
  • 설치중인 패키지가 작은 지 또는 큰지 (예 :) 중요합니까 numpy?
  • 그것은 내가 사용하고있는 파이썬 버전 ( 2.xvs. 3.x또는 Apple pythonvs. MacPort 's python)에 달려 있습니까?
  • pythonMac에 여러 버전이 설치되어 있는지 여부는 중요합니까 ?
  • 동시에 사용할 수 있습니까?

각 접근법의 장단점을 간략하게 나열하고 답변을 선택할 때에 대한 토론이있는 답변을 원합니다.


관련,하지만 너무 특정 : stackoverflow.com/questions/16895282/... . 나는 단지 일반적인 파이썬 패키지를 요구하고 있지 않다 matplotlib.
jvriesem 2016

AFAIK는 이미 설치되어 있습니다-터미널에서 체크인 할 수 있습니다 :> python 및 다음 명령> numpy를 np로 가져 오기 오류가 없으면 오류가 있습니다. 다른 솔루션은 continuum.io/downloads 에서 아나콘다를 사용하는 것입니다. 많은 기능이 있으며 pip를 사용한 추가 설치는 anaconda 폴더에 있습니다.
Yoan

@Yoan : numpy예제 일뿐입니다. 일반적으로 패키지 설치에 대해 묻고 있습니다.
jvriesem

답변:


3

그것들은 동시에 사용될 수 있으며, 두 가지를 혼합하는 것 사이에는 아무런 문제가 없어야합니다 (하나의 큰주의 사항과 단점이 있습니다 ...)

경고

경고는 macports / homebrew와 pip는 각각이 다른 것에 비해 설치되어 있다는 것을 인식하지 못한다는 것입니다.

예를 들어, Mac에 python 3.6을 설치한다고 가정하겠습니다. 당신이 원하는 nltkMacPorts를에 해당 버전에 대한 기술적으로 가능하지 않은,하지만 핍에 있습니다. 따라서 pip에 설치하십시오. 두 달 후 Macports에 설치되어 설치를 선택했습니다. 이제 nltk컴퓨터에 두 가지 버전이 있으므로 emptor를주의하십시오 .

잡았다

Macports와 함께 pip를 사용하는 경우 Macports를 통해 설치되고 해당 python 버전과 연관된 pip인지 확인해야합니다. 예를 들어 py35-pip, py36-pip 등이 표시됩니다.

적절한 pip를 설치하면 Macports의 select명령을 사용하여 적절한 버전의 python으로 활성화되었는지 확인하십시오.

sudo port select

내 경험은 MacPorts가 만든 Python 전역 영역에 모듈을 설치하면 충돌이 발생한다는 것입니다. 조만간 MacPorts는 pip로 이미 설치 한 포트를 설치하려고 시도합니다. 해당 포트에 존재하지만 MacPorts에 의해 설치되지 않은 파일에 대한 오류 메시지가 표시됩니다. @IanC의 대답이 더 낫다고 생각합니다 .MacPorts 만 사용하여 전역 Python 영역에 설치하고 pip 만 사용하여 가상 환경 내에 설치하십시오.
Jim DeLaHunt

4

pip패키지 설치를 관리하기위한 Python 기본 도구이기 때문에 사용해야 하지만 기본 Python 설치에 설치하지 않아야합니다. 모든 것을 컴퓨터의 기본 Python 설치에 핍 설치하는 경우 여러 소프트웨어 리포지토리 사이에서 고정 버전 종속성을 정렬해야하는 것은 엉망이 될 수 있습니다.

대신 virtualenv를 pip-install 한 다음이를 사용하여 각 가상 환경에 대해 서로 다른 가상 Python 설치 및 모든 관련 pip 설치 패키지 패키지를 관리해야합니다.

따라서 종속성 관리 문제를 겪지 않고도 beautifulsoup한 소프트웨어 저장소의 1.x beautifulsoup에서 다른 저장소의 2.x로 작업 할 수 있습니다 .


0

방금 Homebrew , MacPortspip3을 사용하여 동일한 패키지를 빠르게 테스트 했습니다 .

brew search numpy
sudo port search --name --glob '*numpy'
pip3 search numpy

MacPorts pip3 는 동일한 패키지 (버전 1.18.1 )를 사용했지만 Homebrew 1.16을 사용했습니다 .

다른 사람과 공동 작업 할 때는 개발 환경을 구성하는 방법에 동의하는 것이 가장 좋습니다. 그렇지 않으면 이상 현상에 부딪 히고 다른 테스트 결과를 얻을 수 있습니다. 따라서 가장 좋은 도구는 모두가 동의하는 것입니다. ;-)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.