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

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

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

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

Q&A

解決済

3回答

2128閲覧

Python 3.6.9を利用しているのにPython 3.10.0を利用していることになっているエラー

yamayamar

総合スコア4

Python

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

0グッド

0クリップ

投稿2021/10/29 14:19

編集2021/10/29 14:22

前提・実現したいこと

pyautoguiをimportしているpyファイルを実行したい。

環境
Mac OS Catalina 10.15.7

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

pyautoguiをimportしているpyファイルを実行すると下記のエラーが表示されます。

/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/rubicon/objc/ctypes_patch.py:21: UserWarning: rubicon.objc.ctypes_patch has only been tested with Python 3.4 through 3.9. You are using Python 3.10.0. Most likely things will work properly, but you may experience crashes if Python's internals have changed significantly. warnings.warn( Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pyautogui/_pyautogui_osx.py", line 5, in <module> import Quartz File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Quartz/__init__.py", line 6, in <module> import AppKit File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/AppKit/__init__.py", line 10, in <module> import Foundation File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Foundation/__init__.py", line 9, in <module> import CoreFoundation File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/CoreFoundation/__init__.py", line 9, in <module> import objc File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/objc/__init__.py", line 6, in <module> from . import _objc TypeError: 'objc_meta_class' object is not iterable During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/yamashitashinichirou/korian_export/item_updateStatus.py", line 23, in <module> import pyautogui File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pyautogui/__init__.py", line 544, in <module> from . import _pyautogui_osx as platformModule File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pyautogui/_pyautogui_osx.py", line 7, in <module> assert False, "You must first install pyobjc-core and pyobjc: https://pyautogui.readthedocs.io/en/latest/install.html" AssertionError: You must first install pyobjc-core and pyobjc: https://pyautogui.readthedocs.io/en/latest/install.html

pyobjc-core とpyobjcはインストール済みなのですが「You must first install pyobjc-core and pyobjc」という文言が表示されています。
エラー文上部に「You are using Python 3.10.0. 」と記載されているので、
pyenv versionコマンドで確認したところ
3.6.9でした。

どのような理由なのか皆目検討つかず、ヒントでも構いませんのでご教授お願いできれば幸いです。

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

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

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

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

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

meg_

2021/10/29 17:00

エラーメッセージによると3.10で実行されていますね。 > pyenv versionコマンドで確認したところ3.6.9でした。 その環境でそのままコードを実行すれば良さそうですが出来ないのでしょうか?
quickquip

2021/10/31 02:56

which python where python which python3 where python3 echo $PATH あたりの結果を載せてみてはどうでしょう
yamayamar

2021/10/31 13:09

コメントありがとうございます。 @meg_ そのまま実行したのですが、上記のエラーになりました。 @quickquip 確認した結果以下のようになりました。 $which python /usr/bin/python $where python /usr/bin/python $which python3 /Library/Frameworks/Python.framework/Versions/3.10/bin/python3 $where python3 /usr/local/bin/python3 /usr/bin/python3 echo $PATH /Library/Frameworks/Python.framework/Versions/3.10/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin 上記の結果からすると「pyenv global 3.6.9」というコマンドを実行すればpythonバージョン3.6.9で実行しているという理解だったのですが、そうではないということになるのでしょうか?理解できていない箇所含めご教授いただければ幸いです。
quickquip

2021/10/31 15:32

情報はこの欄に書くのではなく、質問を編集しましょう。
guest

回答3

0

自己解決

pyenvにて3.8.0にて各種ライブラリをインストールしなおして、実行したら、該当のエラーはでなくなりました。
回答頂いた皆様、ありがとうございました。

投稿2021/11/06 05:14

yamayamar

総合スコア4

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

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

technocore

2021/11/06 05:23

>各種ライブラリをインストールしなおして 何をインストールしたのか、解決方法を明確に記述してください。
quickquip

2021/11/06 06:22

> pyenvにて3.8.0 「何かをしたらpyenvの3.8.0がちゃんと使えるようになった」ということだと思いますが、肝心のその「何か」が書かれていません。
quickquip

2021/11/06 06:23

あとこれはただのコメントですが、3.8.11 とか 3.8.12 とかを入れた方がいいのでは?
guest

0

エスパー回答気味ですが、https://teratail.com/questions/364450 と同じ状況で、pyenvのインストール作業が半端なのでは(=~/.zprofileeval "$(pyenv init --path)"を追加する手順を飛ばしてしまっているのでは)ないかと推測します。

投稿2021/10/30 00:50

編集2021/10/31 15:33
quickquip

総合スコア11038

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

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

yamayamar

2021/10/31 02:03

コメントありがとうございます。brewでインストールしていたので、上記のリンク先のコマンドを試してみたのですが、同様のエラーでした。。。
quickquip

2021/10/31 13:42

単にちゃんとインストールできてないだけなのでは? という回答じたいに変化はありません。 本当にインストール手順読んでますか? としか。
quickquip

2021/11/03 06:56

bashを使っているのにzsh用のインストール手順(またはその逆)を実行しているとか……?
guest

0

どういう方法でPythonを起動するかが違うからです。

pyenv versionで分かるのはターミナルで実行した場合のPythonのバージョンです。

VSCodeから実行するとかJupyterから実行するとかによって、どのPythonが実行されるかは違います。

投稿2021/10/29 14:36

ppaul

総合スコア24666

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

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

yamayamar

2021/10/29 22:15 編集

コメントありがとうございます。 pyファイルもターミナルから実行しているのですが、その場合、どのバージョンになるのでしょうか?
ppaul

2021/10/30 00:53

ターミナルで実行しているというのは $ python3 item_updateStatus.py のように実行しているという意味ですか?
yamayamar

2021/10/31 02:00

はい、そのように実行しています。
ppaul

2021/10/31 14:20

pyenvを使うときの基本ですが、3.6.9をインストールしたあとに pyenv rehash は実行していますね。 もしやっていなければ、これを実行してから再度python3 item_updateStatus.pyを実行してみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問