python - 차이 - 아나콘다 설치




Anaconda(Conda) 환경에서 pip 설치 패키지를 어떻게 추적합니까? (6)

저는 Anaconda Python 배포판을 설치하여 사용하고 있으며, 아나콘다 (Conda) 환경을 사용하기 시작했습니다. 표준 conda install... 명령을 사용하여 배포판의 패키지를 내 환경에 넣을 수 있지만 외부 (즉, Flask-WTF, flask-sqlalchemy 및 alembic)를 사용 pip install 활성 환경에서 pip install 을 사용해야합니다. 그러나 환경의 내용을 디렉토리에서 보거나 conda list 하면 pip install 패키지가 나타나지 않습니다.

pip freezepip list 사용하면 지금까지 설치 한 모든 패키지 pip list 만 표시됩니다.

내 Anaconda env s ( pipconda 모두 설치되어 있음)에있는 것을 추적 할 수있는 방법이 있습니까?


pip와 PyPI와의 더 나은 통합을 제공하는 conda (new-pypi-install) 분기가 있습니다. 특히 conda list에는 pip 설치된 패키지가 표시되고 conda install은 먼저 conda 패키지를 찾으려고하고 패키지를 설치하기 위해 pip를 사용합니다.

이 지사는 이번 주말에 병합 될 예정이므로 버전 2.1의 conda가 conda와 더 잘 통합 될 것입니다.


나는 @Viktor Kerkez의 대답에 뒤이어 많은 성공을 거뒀다. 나는 때때로이 조리법을 발견했다.

콘도 해골 pypi 패키지

콘도 빌드 패키지

모든 것이 효과가있는 것처럼 보이지만 패키지를 성공적으로 가져올 수 없습니다. 최근에 Anaconda 사용자 그룹 에서이 사실에 대해 물었고 아나콘다와 함께 제공되지 않는 패키지를 만들고 관리하는 데 가장 좋은 방법은 @Travis Oliphant가 직접 들었습니다. 이 글은 here 에서 읽을 수 있지만 OP의 질문에 대한 답변을보다 완벽하게 작성하기 위해 아래 접근법을 설명 할 것입니다 ...

예 : conda 2.2.5를 사용하여 Windows에 훌륭한 prettyplotlib 패키지 를 설치하려고합니다.

1a) conda build --build-recipe prettyplotlib

빌드의 마지막 테스트 섹션까지 빌드 메시지가 모두 잘 보이는지 확인할 수 있습니다. 나는이 오류를 보았다.

파일 "C : \ Anaconda \ conda-bld \ test-tmp_dir \ run_test.py", 23 행 가져 오기 없음 SyntaxError : 없음에 할당 할 수 없습니다. 테스트가 실패했습니다 : prettyplotlib-0.1.3-py27_0

1b) / conda-recipes / prettyplotlib로 가서 meta.yaml 파일을 편집하십시오. 현재, 단계 1a 에서처럼 패키지를 설정하면 test 섹션에 오류가있는 yaml 파일이 생성됩니다. 예를 들어, 다음은 광산에서 prettyplotlibprettyplotlib 방법입니다.

test:   # Python imports   imports:
    - 
    - prettyplotlib
    - prettyplotlib

이 섹션을 편집하여 - 앞에 오는 공백 행을 제거하고 중복 된 prettyplotlib 행을 제거하십시오. 이 글을 쓰고있는 시점에 내가 conda로 설치하고있는 외부 패키지에 대해 이와 같이 대부분의 meta.yaml 파일을 편집해야한다는 것을 알았습니다. 즉, 주어진 패키지의 중복 가져 오기와 함께 오류를 일으키는 빈 가져 오기 라인이 있음을 의미합니다 .

1c) 1a에서 명령을 재실행하십시오. 이번에는 out 오류로 완료해야합니다. 빌드가 https://binstar.org/ 빌드를 https://binstar.org/ 에 업로드할지 묻는 메시지가 https://binstar.org/ . 나는 아니오를 입력 한 다음이 메시지를 보았습니다.

나중에이 패키지를 binstar.org에 업로드하려면 다음을 입력하십시오.

$ binstar 업로드 C : \ Anaconda \ conda-bld \ win-64 \ prettyplotlib-0.1.3-py27_0.tar.bz2

tar.bz2 파일은 실제로 설치해야하는 빌드입니다.

2) conda install C:\Anaconda\conda-bld\win-64\prettyplotlib-0.1.3-py27_0.tar.bz2

이 단계들에 따라 아나콘다와 함께 제공되지 않는 패키지를 설치하기 위해 성공적으로 conda를 사용했습니다. 이전에는 pip를 사용하여 이들 중 일부를 설치 했으므로 cond 패키지를 설치하기 전에 패키지를 제거하십시오. conda를 사용하여, 이제는 conda, pip, easy_install 및 python setup.py install과 함께 여러 가지 항목을 설치하는 대신 단일 패키지로 거의 모든 패키지를 관리 할 수 ​​있습니다.

문맥에 관해서는, @Travis Oliphant의 최근 블로그 포스트 가 나 같은 사람들에게 도움이 될 것이라고 생각합니다. 나 같은 사람들은 강력한 파이썬 패키지에 들어가는 모든 것을 고맙게 생각하지만, "그냥 작동합니다"라고 말할 때 감사 할 것입니다. 콘도는 좋은 방법 같아 보인다.


which pip 은 다음 경로를 보여줍니다 :

$ which pip
/home/kmario23/anaconda3/bin/pip

따라서, pip install <package-name> 을 사용하여 pip install <package-name> 한 패키지는 목록을 내보낼 때 패키지 목록에 반영되어야합니다.

$ conda list --export > conda_list.txt

그러나 나는 그렇지 않습니다. 그래서, 대신에 다음과 같은 몇 가지 명령을 사용했습니다.

# get environment name by
$ conda-env list

# get list of all installed packages by (conda, pip, etc.,)
$ conda-env export -n <my-environment-name> > all_packages.yml
# if you haven't created any specific env, then just use 'root'

자, all-packages.yml 파일에있는 all-packages.yml 패키지를 볼 수 있습니다.


이것이 제가 Picky를 쓴 이유입니다 : http://picky.readthedocs.io/

그것은 virtualenvs와 conda envs에서 pip 또는 conda로 설치된 패키지를 추적하는 python 패키지입니다.


conda-env 는 자동으로이 작업을 수행합니다 (pip가 conda와 함께 설치된 경우).

환경 마이그레이션에 사용되는 내보내기 도구를 사용하면 어떻게 작동하는지 확인할 수 있습니다.

conda env export -n <env-name> > environment.yml

파일에는 conda 패키지와 pip 패키지가 모두 나열됩니다.

name: stats
channels:
  - javascript
dependencies:
  - python=3.4
  - bokeh=0.9.2
  - numpy=1.9.*
  - nodejs=0.10.*
  - flask
  - pip:
    - Flask-Testing

환경을 내보내는 방법을 살펴 보려면 environment.yml 을 새 호스트 시스템으로 이동하고 다음을 실행하십시오.

conda env create -f path/to/environment.yml

conda env export 는 환경 내의 모든 conda 및 pip 패키지를 나열합니다. conda-env 는 conda 루트에 설치되어야합니다 ( conda install -c conda conda-env ).

현재 환경을 설명하는 environment.yml 파일을 작성하려면 다음을 수행하십시오.

conda env export > environment.yml

참고 문헌 :





conda