LoginSignup
79
73

More than 5 years have passed since last update.

anancondaの仮想環境でpipを使うときの注意点

Last updated at Posted at 2018-07-24

はじめに

conda installできないモジュールをインストールしたいときに、pip installしてもモジュールが使えなくて困ったことがあったので注意点を書きます。

問題点

condaで作った仮想環境内でpip installしたモジュールがその仮想環境内で使えない。

具体例

仮想環境(ここでは、kasouという名前)は

terminal
> conda create -n kasou 

で作れます。今の所、

terminal
> conda activate kasou # 環境によっては、source activate kasou
(kasou) > conda list


# packages in environment at /Users/usename/.pyenv/versions/anaconda3-5.1.0/envs/kasou:
#
# Name                    Version                   Build  Channel

とすると、何もないことがわかります。
この状態で、pip installすると、仮想環境内ではなく、rootのpipが使われてしまうので注意が必要です。
そして、モジュールもrootに入ります。

それでは、確認してみます。
試しに、pipでopencvを入れてみます。

terminal
(kasou) > pip install opencv-python

この段階では、仮想環境内ではopencvは使えません。
入っているか確認するために、以下のようにimportしてみます。

terminal
(kasou) > python
Python 3.6.5 |Anaconda custom (64-bit)| (default, Apr 26 2018, 08:42:37)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>

これで、確認できているかと言えばそうじゃないです。
仮想環境内にpythonがないので、rootのpythonをひっぱってきてます。

なので、仮想環境内にpythonを入れて確認します。

terminal
(kasou) > conda install python
(kasou) > python
Python 3.7.0 (default, Jun 28 2018, 07:39:16)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'
>>>

すると、opencvが入っていないことが確認できます。

対策

仮想環境内でpipを使いたいときは、condaでpipをインストールしてから、pipを使います。

terminal
(kasou) > conda install pip
(kasou) > pip install hoge

ちなみに...

仮想環境から出る時

仮想環境から出る時はこんな感じ。

terminal
(kasou) > conda deactivate

仮想環境を削除する時

仮想環境を削除するときはこんな感じ。

terminal
> conda remove -n kasou --all

最後に

わかってたら当たり前のことですが、はじめは気付かなかったのでまとめました。

79
73
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
79
73