web-dev-qa-db-ja.com

Pipを使ってAnaconda環境にパッケージをインストールする

conda 4.2.13 MacOSX 10.12.1

私はpipからanacondaを使って作られた新鮮な環境(仮想)にパッケージをインストールしようとしています。 アナコンダの文書では これは完全に問題ないと言っている。それはvirtualenvと同じ方法で行われます。

あなたがプログラムを置きたい環境をアクティブにして、そしてプログラムをpipインストールしてください...

私はこのようにAnancondaで空の環境を作りました:

conda create -n shrink_venv

有効にします。

source activate shrink_venv

それから私は自分のenv (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をパッケージのために使うことができることを知っています、しかし私はanacondaからのPillowに問題を抱えていた、それで私はpipからそれを得たかったです。

which -a pipの出力:

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

**アップデート**これはかなり一般的な問題です。私が見つけたのは、conda envがPYTHONPATHとうまくいかないということです。 conda環境を使用している場合でも、システムは常にPYTHONPATHの場所を調べます。今、私はいつもconda環境を使うときにunset PYTHONPATHを実行します、そしてそれははるかに良く働きます。私はMacにいます。

74

このような状況に遭遇する人にとっては、これが最も直接的な解決策であることがわかりました。

  1. conda create -n venv_namesource 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を使ってパッケージを正常にインストールできます。

78
Windmill

あなたがしなければならないのは開いているアナコンダプロンプトとタイプだけです

pip install package-name

それは自動的にanaconda環境にインストールする必要はありません

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

またはあなたはanacondaに関連したあなたのpythonバージョンを使うことができる

!python3.6 -m pip install package-name
46
sambeth

Conda環境を作成するときにpipを追加しなかった場合

conda create -n env_name pip

また、環境内にpipをインストールしませんでした

source activate env_name
conda install pip

それからあなたが手に入れた唯一のpipはシステムpipで、これはパッケージをグローバルにインストールします。

あなたが上で述べた手続きのどちらかをしたとしても、あなたがこの issue で見ることができるようにバスは、まだ未定義の種類の中のpipのふるまいです。

長い/home/username/anaconda/envs/env_name/bin/pipを入力せずにconda環境内にインストールされた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" "$@"
}

これがあなたに役立つことを願っています。

6
Allen Ye

Pipを使ってcondaに少数のパッケージをインストールしたいのであれば、

Sudo $(which pip) install <instert_package_name>

私のために働いた。

説明

とにかく、which pipはあなたがいる場所へのconda env pipパスを見つけるために非常に信頼できるようです。しかし、Sudoを使うとき、これはパスをリダイレクトするか、そうでなければこれを壊すようです。

$(which pip)を使用すると、これはSudoまたは他のコマンドとは無関係に実行され、Linuxで/home/<username>/(mini)conda(3)/envs/<env_name>/pipを実行するのと同じことになります。これは、$()が別々に実行され、テキスト出力が外側のコマンドに追加されるためです。

3
josh

私はanacondaにnon condaパッケージをインストールする際に問題に直面していました、私はここで最も好きな答えに従いました、そしてうまくいかなかった(おそらく私のanacondaはFディレクトリにありenv作成はCにありbinフォルダーは作成されませんでした、わかりませんが、うまくいきませんでした。

Anacondaのpipによると(anacondaのプロンプトで "conda list"コマンドを使って見つけられる)、pipパッケージがインストールされていなかったので、ここで私がしたこと、pipを再度インストールしてからpipをインストールしました。

conda install pip
pip install see

seeは、conda以外のパッケージです。

2
Abhijeet sinha

windows OSを使用している場合はAnaconda Promptを開き、activate yourenvnameと入力します。

そして、あなたがMacかLinux OSを使っているなら、Terminalを開いてsource activate yourenvnameとタイプしてください。

ここでyourenvnameはあなたがpipパッケージをインストールしたいあなたの望ましい環境です

上記のコマンドを入力した後、あなたはあなたの環境名がbaseからあなたのタイプされた環境yourenvnameへコンソール出力で変更されるのを見る必要があります(これはあなたが今あなたの望む環境コンテキストにいることを意味します)

それからあなたがする必要があるのは普通のpip installコマンドです、例えばpip install yourpackage

そうすることで、pipパッケージはあなたのConda環境にインストールされます。

1
Code_Worm

この問題を次の方法で解決しました。

デフォルトのpipとしてconda以外のpipがあり、conda pythonがデフォルトのpythonである場合(以下を参照)

>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

次に、pip install <package>を呼び出す代わりに、モジュールフラグ-mをpythonとともに使用して、インストールにanaconda pythonを使用できます。

python -m pip install <package>

これにより、パッケージが(anaconda以外の)pipに関連付けられたライブラリディレクトリではなく、anacondaライブラリディレクトリにインストールされます。

1
alex_danielssen

上記のすべての回答は、主にvirtualenvの使用に基づいています。私はanaconda3を新しくインストールしただけで、virtualenvはインストールされていません。だから、私はvirtualenvを作成することを考えずにそれに代わるより良い方法を見つけました。

Linuxに多くのpipとpythonのバージョンがインストールされている場合は、最初に以下のコマンドを実行して、インストールされているすべてのpipパスを一覧表示します。

whereis pip

あなたは出力としてこのようなものを得るでしょう。

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

パッケージのインストールに使用したいpipのパスをコピーし、下記のコマンドでSudoが/home/prabhakar/anaconda3/bin/pipを置き換えた後にそれを貼り付けます。

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

これは私にとってかなりうまくいった。インストールに問題がある場合は、コメントしてください。

1

_のみ_ の場合condaをインストールしたいです。 PATH変数から他のpythonパスをすべて削除するだけです。

出発のみ

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

これはあなたがpip install *を使うことを可能にし、それはあなたのcondaインストールに直接インストールされます。

0
moto

activate shrink_venvだけでも同じように動作します。私は新しい環境を作成しようとしました、そして、私のcondaインストールは私が最初にソースを使うことを許しません。

0
Elisavet Fakou