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

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

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

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

2回答

8465閲覧

Google colaboratoryでPyAutoGuiを使いたい

15princess

総合スコア15

Python 3.x

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

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2018/10/15 06:01

前提・実現したいこと

python初心者です。
Google colaboratory のPython3でPyAutoGuiを導入したいです。

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

importを実行すると下記のようなエラーが発生してしまいます。

--------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-20-fa2587ca3a04> in <module>() ----> 1 import pyautogui /usr/local/lib/python3.6/dist-packages/pyautogui/__init__.py in <module>() 113 from ._window_win import Window, getWindows, getWindow 114 else: --> 115 from . import _pyautogui_x11 as platformModule 116 117 /usr/local/lib/python3.6/dist-packages/pyautogui/_pyautogui_x11.py in <module>() 158 159 # Taken from PyKeyboard's ctor function. --> 160 _display = Display(os.environ['DISPLAY']) 161 162 /usr/lib/python3.6/os.py in __getitem__(self, key) 667 except KeyError: 668 # raise KeyError with the original key value --> 669 raise KeyError(key) from None 670 return self.decodevalue(value) 671 KeyError: 'DISPLAY'

該当のソースコード

python3

1!pip install python3-xlib 2!pip install pyautogui 3import pyautogui

試したこと

以下のサイトでも同じ症状が報告されていました。
https://github.com/asweigart/pyautogui/issues/161

サイトは、pipを使わず直接ファイルをダウンロードしたら解決した、という内容だと思われます。
Google colaboratoryでこの問題を解決するには、PyAutoGuiのファイルを全て
アップロードすれば良いのでしょうか?稚拙な質問ですが、ご教授頂けたらと思います。

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

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

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

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

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

guest

回答2

0

既に回答にあるとおりGUIものは動きません。
仮想ディスプレイを導入してみたら取り合えずimportまではエラーでなく出来ました。
その先はまた調べながらご確認ください。

jupyter

1# xvfbを導入 2!apt-get -qq -y install xvfb xauth 3 4# pyvirtualdisplayを導入 5!pip -q install pyvirtualdisplay python3-xlib pyautogui 6 7# pyvirtualdisplayで仮想ディスプレイを開始 8from pyvirtualdisplay import Display 9display = Display(visible=0, size=(1024, 768), use_xauth=True) 10display.start() 11import os 12os.environ["DISPLAY"] = ":" + str(display.display) + "." + str(display.screen) 13 14# お目当てのコードはここ以降になります 15import pyautogui

投稿2018/10/15 06:55

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

15princess

2018/10/15 07:33

なるほど、GUI関係はcolaboratoryでは一切使えないと思いきや、 仮想ディスプレイという手があったんですね! 乗せて頂いたコードで、目的が達成できるか試してみます! 回答ありがとうございました。
guest

0

ベストアンサー

確認はしていませんが、Google colaboratoryでは、GUI関連のものは動作しないと思われます。
jupyter notebookではこちらのように動作しないため、colaboratoryでも同様でしょう。
そもそも、ブラウザ上で動作しているものに、OSのGUIで動作するものを実行させようとしている時点で、正しく動作しないのは当然だろうと思います。

投稿2018/10/15 06:42

fiveHundred

総合スコア9778

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

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

15princess

2018/10/15 07:29

PCにインストールしたpython3ではエラー無く動作していたため、 この説明で納得できました! ブラウザ上の環境で動かしていることを失念していました。 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問