Conda : github에서 직접 설치 / 업그레이드


112

conda를 사용하여 GitHub에서 패키지를 설치 / 업그레이드 할 수 있습니까 ?

예를 들어 다음과 pip같이 할 수 있습니다.

pip install git+git://github.com/scrappy/scrappy@master

GitHub scrappymaster브랜치에서 직접 설치 합니다 . conda와 동등한 것을 할 수 있습니까?

이것이 가능하지 않다면 conda로 pip를 설치하고 pip로 이러한 로컬 설치를 관리하는 것이 합리적입니까?

답변:


74

이제 .NET을 통해 더 나은 지원이 제공됩니다 conda-env. 예를 들어, 이제 다음을 수행 할 수 있습니다.

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - "--editable=git+https://github.com/pythonforfacebook/facebook-sdk.git@8c0d34291aaafec00e02eaa71cc2a242790a0fcc#egg=facebook_sdk-master"

여전히 내부적으로 pip를 호출하고 있지만 이제 conda 및 pip 패키지 사양을 단일 environment.yml파일로 통합 할 수 있습니다 .

이 파일로 루트 환경을 업데이트하려면이를 파일 (예 :)에 저장 environment.yml한 다음 다음 명령을 실행해야합니다 conda env update -f environment.yml..

새 환경을 만들고 싶을 가능성이 더 높습니다.

conda env create -f environment.yml (댓글에서 예상대로 변경됨)


루트 환경에서 해당 환경의 요구 사항을 어떻게 설치합니까?
hobs

@hobs-질문에 대한 답변을 수정했습니다.
Aron Ahmadia

1
그것은 사실이다 conda env create -f environment.yml와 함께, 플래그가 약자 . conda create-f--force
Perfi

1
어딘가에 문서화되어 있습니까?
guilhermecgs

1
@Perfi, 내 실수 나는 당신이주의 깊게 읽지 않은 내 실수가 아니라 강제 -fconda env create언급 했다고 생각했습니다 conda create.

103

답변은 구식입니다. pip와 git을 conda로 설치하기 만하면됩니다. 그런 다음 pip를 정상적으로 사용할 수 있습니다.

  1. Conda 환경 활성화 source activate myenv

  2. conda install git pip

  3. pip install git+git://github.com/scrappy/scrappy@master


4
이 외에도 내가 사용한 pip가 "/ home / ubuntu / anaconda3 / envs / tensorflow_p36 / bin / pip"인 경우와 같이 환경 내에있는 pip를 사용해야합니다. 이 pip는 conda 설치를 수행 한 후에 제공됩니다. 이 bin 디렉토리를 $ PATH 앞에 추가 할 수 있습니다.
faizan

1
설치 한 패키지는 그 master후 브랜치 에만 있습니까? 마스터로 병합하기 전에 브랜치에서 PR을 테스트하려면 어떻게해야합니까?
Mymozaaa

1
@AntonAndreev 사양git+gitgit+https및 기타를 모두 지원합니다 . 그러나 모든 사양 예제는 .git분기를 지정할 때마다 표시 됩니다.
merv 19 년

4
의 대부분은 이미 OP에 있습니다 (사용 pip install). 질문은 conda 직접 사용하는 방법을 묻는 것 입니다.
Amelio Vazquez-Reina

29

conda바이너리에서 설치하기 때문에 직접 지원하지 않는 반면 git install은 소스에서 설치됩니다. conda buildgit에서 빌드 된 레시피를 지원합니다. 다른 한편으로, 당신이 원하는 모든 것이 최신의 가장 큰 패키지로 최신 상태를 유지하는 것이라면 Anaconda 내부에서 pip를 사용 setup.py develop하는 것이 좋습니다. 또는 git 클론에 대해 사용하십시오 .


패키지에 릴리스 바이너리가 연결되어 있으면 어떻게됩니까?
Marcel Ramos

4

condas 문제 에서 이것에 대한 참조를 찾았습니다 . 이제 다음이 작동합니다.

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - git+https://github.com/pythonforfacebook/facebook-sdk.git

이것은 @AronAhmadia의 대답에 아직없는 것을 추가하지 않습니다. 이것은 일반적인 requirements.txt의 많은 옵션을 사용할 수 있다는 것을 더 일반적으로 보여줍니다.
merv 19 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.