(備忘メモ)jupyter Notebook上でインポートエラー→pipでインストールしようとしたら「Requirement already satisfied」が出た場合の対応

pythonが標準で入っているmacでうっかりハマる問題。

先に結論

jupyter Notebookで動かしたいライブラリはpipではなくcondaでインストールする。

事象

jupyterでライブラリをインポートしようとしたらNo module namedのエラー。
ライブラリが見つからないのでまだインストールされていない?

ターミナルを開いて対象のライブラリをインストールしようとpipを走らせると、
親の顔より見た「Requirement already satisfied」(既にインストール済み)のメッセージが出てインストールが進まない。

(base)XXXXX ~ % pip install squarify
Requirement already satisfied: squarify in ./.pyenv/versions/3.11.0/lib/python3.11/site-packages (0.4.3)

pathを覗くと予想通り、使いたいライブラリの格納先が含まれていない。Windowsマシンならポチポチと簡単にパスを通せるが、mac環境ではちょっとめんどくさそうなのできちんとインストール問題を解決したい。

>>> import sys
>>> import pprint
>>> pprint.pprint(sys.path)
['',
 '/Users/XXXXXXXX/.pyenv/versions/3.11.0/lib/python311.zip',
 '/Users/XXXXXXXX/.pyenv/versions/3.11.0/lib/python3.11',
 '/Users/XXXXXXXX/.pyenv/versions/3.11.0/lib/python3.11/lib-dynload',
 '/Users/XXXXXXXX/.pyenv/versions/3.11.0/lib/python3.11/site-packages']
>>> 

対応

Anacondaが参照しない場所にインストールされる可能性のあるpipではなく、Anacondaで使う場所にインストールしてくれるcondaでinstallする。

(base) XXXXXXXMacBook-Air ~ % conda install squarify

うまくインストールされたっぽい。

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    squarify-0.4.3             |             py_0           7 KB  conda-forge
    ------------------------------------------------------------
                                           Total:           7 KB

The following NEW packages will be INSTALLED:

  squarify           conda-forge/noarch::squarify-0.4.3-py_0 


Proceed ([y]/n)? y


Downloading and Extracting Packages
                                                                                
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

jupyter Notebook側で再度インポートすると、今度はエラー無くインポートできた。

以上

タイトルとURLをコピーしました