1. ホーム
  2. パイソン

[解決済み】Anaconda環境にパッケージをインストールするためにPipを使用する。

2022-03-27 08:04:10

質問

conda 4.2.13 MacOSX 10.12.1

からパッケージをインストールしようとしています。 pip を、anaconda を使用して作成された新しい環境 (仮想) に追加します。 Anacondaのドキュメントでは によると、これは全く問題ないそうです。 virtualenvと同じように行います。

<ブロッククオート

プログラムを置きたい環境をアクティブにして、pip install a program...

こんな感じで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

** UPDATE ** これはかなり一般的な問題なんですね。私が発見したのは、conda envがPYTHONPATHとうまく連動していないことです。conda環境を使用している場合でも、システムは常にPYTHONPATHの場所を探しているようです。現在、私はいつも unset PYTHONPATH conda 環境を使用する場合、はるかによく動作します。私はマックを使っています。

解決方法は?

この状況に遭遇した他の人のために、私はこれが最も簡単な解決策であることを発見しました。

  1. 実行する conda create -n venv_nameconda activate venv_name ここで venv_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を使ったパッケージのインストールに成功したはずです!