質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1129閲覧

pyperclipをインストールしたのに'No module named 'pyperclip'とエラーが出る(Mac IDEL)

kakomya19

総合スコア2

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/11/06 08:16

前提

プログラム超初心者でPythonを勉強しています。
macでpyperclipモジュールを用いて文字列をコピー&ペーストする機能をIDLEで実行すると下記のエラーメッセージが発生し先に進めません。

実現したいこと

import pyperclipが実行されるようにしたい

発生している問題・エラーメッセージ

ModuleNotFoundError: No module named 'pyperclip'

該当のソースコード

Python

1import pyperclip 2pyperclip.copy('Hello World') 3pyperclip.paste()

試したこと

こちらの質問内容が私の問題に近いと思い、試してみました。
mac環境でpyファイルを実行するとModuleNotFoundError: No module named 'pandas'
https://teratail.com/questions/323149

1.pip3 show pyperclip(ターミナルで確認)の結果
Location: /Users/xxx/.pyenv/versions/3.10.4/lib/python3.10/site-packages

2.import sys
import pprint
pprint.pprint(sys.path) をIDLEで実行

パスの中に1.のパスはない。具体的には下記が表示され、pyperclipをインストールした場所と、pythonを実行している場所が違うようなのですが、それをどう共通化(?)すればいいのかがわかりません。。
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python310.zip',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages'

補足情報(FW/ツールのバージョンなど)

Mac OS Big Sur
Python version: 3.10.7
IDLE version:3.10.7

Python LauncherでIDLEを起動してコードを入力し、xxx.pyで保存して、Runで実行するとエラーが出ます。ターミナルでxxx.pyを実行すると問題なく作動しました。

オライリー・ジャパンの「退屈なことはPythonにやらせよう」を読みながらPythonをインストールしたのですが、IDLEやターミナルやPython Launcherなどがどういう関係性なのかがまだよくわかっていません(涙)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2022/11/06 10:26

pyperclipをインポートできないpythonで下記を実行して、使ってるpythonの絶対パスを調べてください import sys print(sys.executable) 上記で調べた絶対パスが、たとえば /aaa/bbb/python だとしたら、ターミナルで(pythonが起動してない状態で)下記を実行したら、インポートできるようになると思います (実行する際は、調べた実際のpythonのパスに置き換えてください) /aaa/bbb/python -m pip install pyperclip
kakomya19

2022/11/06 10:50

早速のご教示ありがとうございます! インポートできないpythonで下記を実行しました。 import sys print(sys.executable) ↓ ['/Users/xxx/Desktop', '/Users/xxx/Documents', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python310.zip', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages'] 上記のパスを使って、ターミナルで(pythonが起動していない状態で)下記を実行したところ、 /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10 -m pip install pyperclip ↓ -sh: /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10: is a directory と返ってきてインポートができませんでした。'ディレクトリに対して、ファイルであるかのように読み取りまたは書き込みを行おうとしました。'のが原因だということまでは調べてわかったのですが、初歩的な間違いをしているのでしょうか。お手数をおかけして申し訳ございませんが、もし可能であればご教示いただけますと幸いです。
jbpb0

2022/11/07 00:26 編集

> ['/Users/xxx/Desktop', (以下略) は、 import sys print(sys.executable) ではなくて、 import sys import pprint pprint.pprint(sys.path) を実行した結果です 実行してるコードが間違ってるので、正しいコードを実行してください 【追記】 google colabで import sys print(sys.executable) を実行してみてください 結果は /usr/bin/python3 となり、一行だけ表示されるし、結果が ['/Users/xxx/Desktop', (中略) '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages'] のように ['...'] と表示されることもありません (ぜひ自分でも実行して確認してみてください) 実行する環境によって、結果のパスは当然変わりますが、上記は環境によらず同じです
kakomya19

2022/11/07 01:02 編集

ありがとうございます! 根本的なコピペミスでお手数をおかけして申し訳ございませんでした。 改めて、ご教示いただいた内容を実行したところ、インポートできなかったPythonでできるようになりました!本当に感謝です。ありがとうございます。 今後も他のモジュールをインストール・インポートする際は、上記教えていただいた方法を使おうと思います。プログラム初歩でくじけそうだったので、救われました。 jbpb0さまのご教示をベストアンサーとさせていただきクローズいたします。jbpb0さまよろしければ回答へご記入いただけますと幸いです。
guest

回答1

0

ベストアンサー

pyperclipをインポートできないpythonで下記を実行して、使ってるpythonの絶対パスを調べてください

python

1import sys 2print(sys.executable)

 
上記で調べた絶対パスが、たとえば
/aaa/bbb/python
だとしたら、ターミナルで(pythonが起動してない状態で)下記を実行したら、インポートできるようになると思います
(実行する際は、調べた実際のpythonのパスに置き換えてください)

terminal

1/aaa/bbb/python -m pip install pyperclip

投稿2022/11/07 01:14

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kakomya19

2022/11/07 01:28

ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問