programing

Pip을 사용하여 Anaconda 환경에 패키지 설치

nasanasas 2020. 8. 25. 08:11
반응형

Pip을 사용하여 Anaconda 환경에 패키지 설치


conda 4.2.13 MacOSX 10.12.1

pip아나콘다를 사용하여 만든 새로운 환경 (가상) 에서 패키지를 설치하려고합니다 . Anaconda 문서 에서는 이것이 완벽하다고 말합니다. virtualenv와 동일한 방식으로 수행됩니다.

프로그램을 넣을 환경을 활성화 한 다음 프로그램을 설치하십시오.

다음과 같이 Ananconda에서 빈 환경을 만들었습니다.

conda create -n shrink_venv

활성화 :

source activate shrink_venv

그런 다음 터미널에서 환경에서 작업하고 있음을 볼 수 있습니다 (shrink_venv). 다음을 사용하여 패키지를 설치하려고 할 때 문제가 발생합니다 pip.

(shrink_venv): pip install Pillow

Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages

그래서 시스템 전체 패키지에서 요구 사항이 충족되었다고 생각합니다. 따라서 환경이 올바르게 작동하지 않는 것 같습니다. 확실히 문서에서 말한 것과 다릅니다. 내가 여기서 뭔가 잘못하고 있니?

참고로, conda install패키지에 사용할 수 있다는 것을 알고 있지만 아나콘다의 Pillow에 문제가있어서에서 가져 pip오고 싶었고 문서에서 괜찮다고 말했기 때문에.

출력 which -a pip:

/usr/local/bin/pip
/Users/my_user/anaconda/bin/pip

** 업데이트 ** 나는 이것이 매우 일반적인 문제라고 생각합니다. 내가 찾은 것은 conda env가 PYTHONPATH와 잘 작동하지 않는다는 것입니다. conda 환경을 사용하는 경우에도 시스템은 항상 PYTHONPATH 위치를 찾는 것 같습니다. 이제 저는 항상 unset PYTHONPATHconda 환경을 사용할 때 실행 하며 훨씬 더 잘 작동합니다. 나는 Mac을 사용하고 있습니다.


이 상황에 처한 다른 사람들에게는 이것이 가장 간단한 해결책이라는 것을 알았습니다.

  1. 실행 conda create -n venv_name하고 source activate venv_name, venv_name가상 환경의 이름입니다.

  2. 을 실행 conda install pip합니다. 이것은 venv 디렉토리에 pip를 설치합니다.

  3. anaconda 디렉토리를 찾고 실제 venv 폴더를 찾으십시오. 어딘가에 있어야합니다 /anaconda/envs/venv_name/.

  4. 을 수행하여 새 패키지를 설치합니다 /anaconda/envs/venv_name/bin/pip install package_name.

이제 가상 환경의 pip를 사용하여 패키지를 성공적으로 설치해야합니다!


Anaconda 프롬프트를 열고 입력하기 만하면됩니다.

pip install package-name

사용하지 않고 아나콘다 환경에 자동으로 설치됩니다.

conda install package-name

일부 conda 패키지는 초과 근무 지원이 부족할 수 있으므로 pip를 사용하여 설치해야하며 이것이 수행하는 한 가지 방법입니다.

anaconda에 pip가 설치되어있는 경우 jupyter 노트북 또는 anaconda에 연결된 Python 셸에서 다음을 실행할 수 있습니다.

pip.main(['install', 'package-name'])

와 PIP의 버전을 확인합니다 pip.__version__. 버전 10.x.x이상이면이 코드 줄로 Python 패키지를 설치하십시오.

subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', 'package-name'])

jupyter 노트북에서 이런 식으로 셀의 pip를 통해 python 패키지를 설치할 수 있습니다.

!pip install package-name

또는 아나콘다와 관련된 파이썬 버전을 사용할 수 있습니다.

!python3.6 -m pip install package-name

conda 환경을 만들 때 pip를 추가하지 않은 경우

conda create -n env_name pip

또한 환경 내에 pip를 설치하지 않았습니다.

source activate env_name
conda install pip

그런 다음 얻은 유일한 pip는 시스템 pip이며, 이는 패키지를 전 세계적으로 설치합니다.

문제 에서 볼 수 있듯이 버스는 위에서 언급 한 절차 중 하나를 수행하더라도 conda 환경 내부의 pip 동작은 여전히 ​​정의되지 않았습니다.

longy를 입력하지 않고 conda 환경에 설치된 pip를 사용하기 위해 /home/username/anaconda/envs/env_name/bin/pip쉘 함수를 작성했습니다.

# Using pip to install packages inside conda environments.
cpip() {
    ERROR_MSG="Not in a conda environment."
    ERROR_MSG="$ERROR_MSG\nUse \`source activate ENV\`"
    ERROR_MSG="$ERROR_MSG to enter a conda environment."

    [ -z "$CONDA_DEFAULT_ENV" ] && echo "$ERROR_MSG" && return 1

    ERROR_MSG='Pip not installed in current conda environment.'
    ERROR_MSG="$ERROR_MSG\nUse \`conda install pip\`"
    ERROR_MSG="$ERROR_MSG to install pip in current conda environment."

    [ -e "$CONDA_PREFIX/bin/pip" ] || (echo "$ERROR_MSG" && return 2)

    PIP="$CONDA_PREFIX/bin/pip"
    "$PIP" "$@"
}

이것이 당신에게 도움이되기를 바랍니다.


pip를 사용하여 conda에 적은 수의 패키지를 설치하려는 사람들을 위해,

sudo $(which pip) install <instert_package_name>

나를 위해 일했습니다.

설명

It seems, for me anyway, that which pip is very reliable for finding the conda env pip path to where you are. However, when using sudo, this seems to redirect paths or otherwise break this.

Using the $(which pip) executes this independently of the sudo or any of the commands and is akin to running /home/<username>/(mini)conda(3)/envs/<env_name>/pip in Linux. This is because $() is run separately and the text output added to the outer command.


I was facing a problem in installing a non conda package on anaconda, I followed the most liked answer here and it didn't go well (maybe because my anaconda is in F directory and env created was in C and bin folder was not created, I have no idea but it didn't work).

According to anaconda pip is already installed ( which is found using the command "conda list" on anaconda prompt), but pip packages were not getting installed so here is what I did, I installed pip again and then pip installed the package.

conda install pip
pip install see

see is a non-conda package.


if you're using windows OS open Anaconda Prompt and type activate yourenvname

And if you're using mac or Linux OS open Terminal and type source activate yourenvname

yourenvname here is your desired environment in which you want to install pip package

after typing above command you must see that your environment name is changed from base to your typed environment yourenvname in console output (which means you're now in your desired environment context)

Then all you need to do is normal pip install command e.g pip install yourpackage

By doing so, the pip package will be installed in your Conda environment


All above answers are mainly based on use of virtualenv. I just have fresh installation of anaconda3 and don't have any virtualenv installed in it. So, I have found a better alternative to it without wondering about creating virtualenv.

If you have many pip and python version installed in linux, then first run below command to list all installed pip paths.

whereis pip

You will get something like this as output.

pip: /usr/bin/pip /home/prabhakar/anaconda3/bin/pip /usr/share/man/man1/pip.1.gz

Copy the path of pip which you want to use to install your package and paste it after sudo replacing /home/prabhakar/anaconda3/bin/pip in below command.

sudo /home/prabhakar/anaconda3/bin/pip install <package-name>

This worked pretty well for me. If you have any problem installing, please comment.


I solved this problem the following way:

If you have a non-conda pip as your default pip but conda python is your default python (as below)

>which -a pip
/home/<user>/.local/bin/pip   
/home/<user>/.conda/envs/newenv/bin/pip
/usr/bin/pip

>which -a python
/home/<user>/.conda/envs/newenv/bin/python
/usr/bin/python

Then instead of just calling pip install <package>, you can use the module flag -m with python so that it uses the anaconda python for the installation

python -m pip install <package>

This installs the package to the anaconda library directory rather than to the library directory associated with (the non-anaconda) pip


If you ONLY want to have a conda installation. Just remove all of the other python paths from your PATH variable.

Leaving only:

C:\ProgramData\Anaconda3
C:\ProgramData\Anaconda3\Scripts
C:\ProgramData\Anaconda3\Library\bin

This allows you to just use pip install * and it will install straight into your conda installation.


Just activate shrink_venv will do as well. I tried creating new environment and my conda installation doesn't allow me to use source at the beginning.

참고URL : https://stackoverflow.com/questions/41060382/using-pip-to-install-packages-to-anaconda-environment

반응형