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

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

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

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

Q&A

解決済

2回答

13288閲覧

tkinter.TclErrorとは何でしょうか?

sky_yoshi

総合スコア1

Python 3.x

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

0グッド

0クリップ

投稿2021/11/13 16:23

Pythonを学習し始めたばかりの初心者です。
(プログラム経験は数十年前にN88BASICを少し使っていました)
Python1年生という本を参考に勉強を始めました。
亀が走って線を描くらしい練習用コードの様ですが、
エラーが出て止まってしまい、その原因と対処法が分かりません。
数時間のネット検索でも、エラーメッセージの後半
error getting working directory name: not ownerと合致するものが見つからず、
ここのサイトを見つけました。
ご教示頂けないでしょうか。
何卒よろしくお願いします。

◯コード
from turtle import *
shape("turtle")
forward(100)
done()

◯エラーメッセージ
-tkinter.TclError: error getting working directory name: not owner

◯出力全文
Traceback (most recent call last):
File "/Users/sky_yoshi/Documents/python/python1年生/P55_turtle1.py", line 2, in <module>
shape("turtle")
File "<string>", line 6, in shape
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/turtle.py", line 3813, in init
Turtle._screen = Screen()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/turtle.py", line 3663, in Screen
Turtle._screen = _Screen()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/turtle.py", line 3679, in init
_Screen._root = self._root = _Root()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/turtle.py", line 435, in init
TK.Tk.init(self)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/init.py", line 2270, in init
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: error getting working directory name: not owner

◯補足情報
python 3.9.8
MAC-OS
コードのファイル名:P55_turtle1.py
最初にpython 3.10.0を入れたことがあり、なかなか動かず、
β版であるとのネット情報を元に、アンインストール方法を検索し削除し、
その後3.9.8を入れ直した経緯があります。
何か余計な物を消してしまったのかとも不安を感じています。

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

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

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

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

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

cx20

2021/11/13 16:31

Windows 10 + Python 3.9.8 の環境でサンプルが動作することを確認しました。 コード自体は問題なさそうですね。 フォルダ名に日本語が含まれているのが少し気になります。日本語名が含まれないフォルダで試しても同様でしょうか?
sky_yoshi

2021/11/13 16:40

早々にありがとうございます。 早速、フォルダー名の 1年生→1 に日本語を削除しましたが、 結果はかわりませんでした。
sky_yoshi

2021/11/13 16:42

同じpython3.9.8で動くということは、 当方の環境の問題ということでしょうか?
cx20

2021/11/13 17:14

macOS Big Sur (11.6) に Python 3.9.8 を入れて試してみました。 ターミナルから python3 turtle1.py として動作することを確認しました。 なんらかの環境の違いのようですね。それが何なのかは分からないですが・・
sky_yoshi

2021/11/13 17:37

cx20さん、わざわざ3.9.8を入れて検証して頂き、ありがとうございます。 先ほど、同様の状態である事が私でも起こり、 タイトルのtkinter.Tcl のエラーではなく、 IDLE関係では無いかと、探っておりました。 もう少し探ってみます。 ありがとうございます。
guest

回答2

0

ベストアンサー

解決策ではありませんが、エラーメッセージの意味を説明します。

tkinterはPythonからTcl/Tk を使用するためのラッパーです。

公式ドキュメント Tk を用いたグラフィカルユーザインターフェイス

_tkinterはTcl/Tkを呼び出すための機械語モジュールです。

_tkinterがTCL/Tkを呼び出そうとしたときに作業ディレクトリ名がわからないといいうエラーが出ています。

可能性は多分ふたつあって、
(1) IDLEとかVSCodeなどから起動して問題が起きている
(2) Pythonが想定しているTcl/TkのバージョンとインストールされているTcl/Tkのバージョンが合っていない。

私はMacユーザではないので、これ以上はわかりません。
Macユーザの方の回答に期待しましょう。

投稿2021/11/13 16:53

ppaul

総合スコア24666

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

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

sky_yoshi

2021/11/13 17:08

仕事ではWindowsを使っているので、MACはそれ程詳しくは無いのですが、 教えていただいた2つの可能性のうち、(1)に関連するかもしれないことがわかりました。 ありがとうございます。 IDELでpythonを動かさず、 ターミナル(Windowsのプロンプト)で、python3を起動させ、 コードを入力すると、目的の亀が動く画像が立ち上がりました。 (1)IDELでは動かず、ターミナルで動きました。 この辺を探ります。
guest

0

解決には至らなかったのですが、一応動き出しましたので、ご報告を。

PYTHON3.9.8のIDLEでは動かない学習用の簡単なコードが、
ターミナル(Windowsのプロンプト)でpythonを起動し実行させると動くという症状でしたので、
タイトルの「tkinter.TclError」???ではなく、
IDLEの問題だと思い、IDLEの設定をネットで調査し、色々なソフトを入れて環境を整えようとしました。
難しいですね。
何を設定しているのか、すら分からない。
ネット記事通りに動くソフトもあれば、全く動かないソフトもあり、1週間が過ぎました。
仕事ではWindowsを使っているので、MACのことが理解できないこともあり、
Windowsノートを買おうかとも考えた次第です。
最後に、ダメ元で、pythonの公式サイトから、pythonの別のバージョンを入れてみようとすると、
2回目のチャレンジで3.6.6がインストールされました。
学習用のコードも動く♪
どうも、3.9.8と、3.6.6が共存しているようです。

環境設定に疲れました。
ターミナルで色々なソフトを入れたり、設定したり、
20年以上前のDOSプロンプトでCDでディレクトリーを変えたりしたことを思い出しました。
元々の目的、python学習に戻ろうかと思います。
とりあえず、先ほど、他の絵も描けたので、何か新しい事を実感できて嬉しい。
通常に市販されているソフトは、環境設定を自動でしてくれるんだから素晴らしいですね。
世の中のプログラマーの皆様に感謝です。

投稿2021/11/18 17:42

sky_yoshi

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問