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


177

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の場所を検索するようです。今、私unset PYTHONPATHはコンダ環境を使用しているときはいつも走っています。私はMacを使っています。


9
あなたは試しましたconda install pipか?
languitar 16

4
の出力をwhich -a pip質問に追加できますか?
2016

1
あなたが持っていますかPYTHONPATH環境変数のセットを?
darthbith 16

1
同様の問題がありました。アナコンダの一部であるピップを明示的に使用することは、私にとってはうまくいくようです。
Arseneルパン

1
ピップとコンダを使用して物をインストールすることは本当に安全ですか?アンインストールを修正するバージョンがわからないなど、問題が発生する可能性があると思いました...
Charlie Parker

回答:


201

この状況に遭遇した他の人にとって、これが最も簡単な解決策であることがわかりました:

  1. ファイル名を指定して実行conda create -n venv_nameしてsource activate venv_namevenv_name仮想環境の名前です。

  2. を実行しますconda install pip。これにより、pipがvenvディレクトリにインストールされます。

  3. anacondaディレクトリを見つけ、実際のvenvフォルダーを見つけます。それはどこかにあるはず/anaconda/envs/venv_name/です。

  4. を実行して新しいパッケージをインストールします/anaconda/envs/venv_name/bin/pip install package_name

これで、仮想環境のpipを使用してパッケージが正常にインストールされます。


2
binフォルダーのパスは変更されましたか?venv_nameフォルダに表示されなくなったのですか?
ジャック

新しいvenvを作成してみたところ、binまだ同じ場所にあるようです。
風車

2
「bin」フォルダがなかったため、上記の手順が役立ちました。私が追加することの1つは、「which pip」を実行すると、どの「pip」が実際にパッケージをインストールしているかを判断するのに役立ち、「pip freeze」は、環境パッケージにインストールされているリストを提供します
Mykola

2
ソースがアクティブ化されていても、環境内でインストールが行われていない状況があります。これらはデフォルトのpythonの場所にインストールされます。
Saisumanth Gopisetty

4
この答えは主に次のpipとおりです。condaenvから実行し(環境であるかどうかに関係なく)、pipcondaフォルダー内の実行可能ファイルを使用して必要なパッケージをインストールします(私の場合:AppData\Local\Continuum\anaconda3\Scripts
Manuel Martinez

80

アナコンダのプロンプトを開いて入力するだけです

pip install package-name

使用しなくても自動的にanaconda環境にインストールされます

conda install package-name

一部のcondaパッケージはサポートが不足している可能性があるため、pipを使用してインストールする必要があり、これはそのための1つの方法です。

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

6
「アナコンダプロンプトを開く」方法
トーマスブラウン

3
Windowsでは、タスクバーにある検索アイコンまたは入力を使用して「anacondaプロンプト」を検索して開く必要があります
sambeth

Macで@sambeth?
Parthapratim Neog

1
重要なのは、アナコンダのグローバル環境または特定の環境下にあるアナコンダのPIPを実行することです。
matanster

2
この答えは間違っています。問題の要点は、環境にインストールされない場合があることです。グローバルにインストールされます。これを防ぐには、最初conda install pipに環境内で実行して、ローカルバージョンのpipを使用していることを確認する必要があります。
獣人

33

私はこの問題を次の方法で解決しました:

デフォルトの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

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

python -m pip install <package>

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


3
これが答えです。Windowsで完全に動作します。
ジョーディー

9

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" "$@"
}

これがあなたのお役に立てば幸いです。


8

これは私のために働いたものです(リンクされた画像を参照してください)

  1. アナコンダを開く
  2. ホームの下の左側のペインで[環境]を選択します
  3. 選択した場所のすぐ右、「検索環境」バーの下に、base(root)が表示されます。クリックして
  4. 右向きの三角形が表示されるはずです。それをクリックして「ターミナルを開く」を選択してください
  5. ここで通常のpip installコマンドを使用します。環境/パスを指定する必要はありません

将来の参照のために、要件がすでに満たされている場合に、パッケージのダウンロード先のフォルダーを見つけることができます。端末で上にスクロールすると表示されます。それは次のようなものでなければなりません:要件はすでに満たされ、その後パス

[ pac install anaconda]


3

condaにpipを使用して少数のパッケージをインストールしてから使用したい場合は、

sudo $(which pip) install <instert_package_name>

私のために働いた。

説明

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

これを使用すると、コマンドやコマンドとは$(which pip)無関係にこれsudoが実行さ/home/<username>/(mini)conda(3)/envs/<env_name>/pipれ、Linuxでの実行に似ています。これは、$()が個別に実行され、テキスト出力が外部コマンドに追加されるためです。


3

上記のすべての回答は、主に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のパスをコピーし、/home/prabhakar/anaconda3/bin/pip以下のコマンドでsudo replaceの後にそれを貼り付けます。

sudo /home/prabhakar/anaconda3/bin/pipインストール<package-name>

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


3

Windows OSを使用している場合は、Anacondaプロンプトを開き、次のように入力します。activate yourenvname

MacまたはLinux OSを使用している場合は、ターミナルを開いて次のように入力します。source activate yourenvname

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

上記のコマンドを入力した後、環境名がからbase入力した環境に変更されていることを確認する必要がありますyourenvname、コンソール出力でにする必要があります(つまり、目的の環境コンテキストにいることになります)

次に、必要なのは通常のpip installコマンドです。pip install yourpackage

そうすることで、pipパッケージがConda環境にインストールされます


3

python -m pip install Pillow

でアクティブ化された現在のPythonのpipを使用します

source activate shrink_venv


3

PATH環境変数をどのように構成したかによって異なります。シェルがpipの呼び出しを解決するとき、最初に見つけるビンはどれですか。

(test)$ whereis pip
pip: /home/borja/anaconda3/envs/test/bin/pip /home/borja/anaconda3/bin/pip

anacondaインストールのbinフォルダーが/ usr / libの前にあることを確認します(pipのインストール方法によって異なります)。だから例:

(test) borja@xxxx:~$ pip install djangorestframework
....
Successfully installed asgiref-3.2.3 django-3.0.3 djangorestframework-3.11.0 pytz-2019.3 sqlparse-0.3.1

(test) borja@xxxx:~$ conda list | grep django
django                    3.0.3                    pypi_0    pypi
djangorestframework       3.11.0                   pypi_0    pypi

djangorestframeworkがテスト環境にインストールされていることがわかりますが、ベースを確認すると:

(base) borja@xxxx:~$ conda list | grep django

それは空です。

個人的に私は.pam_environmentを使用してすべてのPATH構成を処理したいと思います。ここでは例を示します。

(base) borja@xxxx:~$ cat .pam_environment
PATH DEFAULT=/home/@{PAM_USER}/anaconda3/bin:${PATH}

1つの余分なcommet。pipのインストール方法によって問題が発生する可能性があります。

  • 使用する必要があります:conda install pip-> pipでインストールされた新しいパッケージがcondaリストに追加されます。

  • あなたはshodul ないで使用します。インストールのaptのpython3-PIPを須藤- >(紛争の可能性)の新しいパッケージは(そうcondaによって管理されていない)condaリストに追加されることはありませんが、あなたはまだそれらを使用することができるようになります。


1つの余分なcommet。pipのインストール方法によって問題が発生する可能性があります。-次を使用する必要があります:conda install pip-> pipでインストールされた新しいパッケージがcondaリストに追加されます。-使用しないでください:sudo apt install python3-pip->新しいパッケージはcondaリストに追加されないため(管理されていないため)、引き続き使用できます(競合の可能性)。
BorjaEst

皆さんこんにちは:) /usr/lib実行時にアナコンダのbinフォルダーの前にある場合など、binフォルダーを削除するにはどうすればよいwhereis pipですか?
レン

試してみてくださいsudo apt remove python3-pip、あなたが使用しているcondaの環境には、Linuxの配布からピップを除去するために:conda install -c anaconda pip
BorjaEst

2

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

anacondaによると、pipは既にインストールされています(conda listanacondaプロンプトでコマンド " " を使用して見つかります)が、pipパッケージがインストールされていなかったため、ここでpipを再度インストールし、pipでパッケージをインストールしました。

conda install pip
pip install see

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


2

さて、私は上記の方法をすべて試しました。どれも私のために働いていません。以下は私のために働きました:

  1. 環境を活性化する
  2. https://pypi.org/simple/から.whlパッケージを手動でダウンロードし ます /
  3. 環境をアクティブにして、コマンドラインから.whlをダウンロードしたフォルダーに移動します。
  4. 実行:pip install package_name_whatever.whl

1

あなたの場合はONLYcondaのインストール必要な。PATH変数から他のすべてのPythonパスを削除するだけです。

出発のみ:

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

これにより、使用するだけで済みpip install *、condaインストールに直接インストールされます。


-1

ちょうどactivate shrink_venv行います。新しい環境を作成してみましたが、condaのインストールでは最初からソースを使用できません。


sourceWindowsを使用している場合、最初は必要ありません
KWx
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.