🏡まったのブログ

Macでpyperclipがno module namedでエラーになったとき【退屈なことはPythonにやらせよう】

「退屈なことはPythonにやらせよう」で、pyperclipモジュールをimportしたら「No module named pyperclip」とエラーが出てしまった。Anacondaを入れていたら上手く行ったのかもしれないが、著者はAnacondaはWindowsでの利用を強く進めていたので、Macを使っている僕はインストールしなかったため、pip installとsysによるパス指定による方法で解決できた。

エラーの原因

原因としてはPythonのバージョンの違いとかでpyperclipが上手くインストールされてなかったことかなと思います。そのためMac側のターミナルでpin install pyperclipし、そのインストール先のパスを.pyファイルの最初の方で読み込むようにしてやると動いた。

まずPyperclipをちゃんと入れる

Mac側のターミナルで
pip show pyperclip
として見つからなければpyperclipをインストールする必要がある。

pipが使える状態であればGitHubからダウンロードとかしなくても、以下のコマンドでインストールまでやってくれる。
pip install pyperclip
これで以下の場所にpyperclipがインストールされる。
/usr/local/lib/python2.7/site-packages
(Finderでは/Users/ユーザー名/Library/Cachesにデータが作成されているのしか確認できないが、ターミナルでpip show pyperclipで確認すると確かに上記にインストールされていた)

IDLEが参照するパスを確認する

IDLE側参照しているライブラリのパスを確認するため下記のコードを打つと、さっきのパスは参照していない(ライブラリが読み込まれていない)ことが分かる(そもそもPythonのバージョンが2.7と3.7で違っているのでそこも不安ではある)。
import sys
print(sys.path)

ライブラリまでのパスを通してあげる

なのでphoneAndEmail.pyファイルの冒頭に以下のように書いてやればパスが通ってpyperclipを利用することができる。
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
import pyperclip, re
# 以下コード本文