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

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

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

PyAutoGUIは、Windows、Mac OS、Linuxに対応した、Python用のGUI自動化ライブラリです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

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

Q&A

解決済

2回答

897閲覧

【Python】pygetwindow を使うことができない

penpen88

総合スコア18

PyAutoGUI

PyAutoGUIは、Windows、Mac OS、Linuxに対応した、Python用のGUI自動化ライブラリです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

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

0グッド

0クリップ

投稿2024/04/07 08:59

実現したいこと

指定したウインドウをアクティブ化したい。
そのため、pygetwindow を使用したいが、作動しない

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

Traceback (most recent call last): File "/home/uta/ダウンロード/way2.py", line 1, in <module> import pygetwindow as gw File "/home/uta/.local/lib/python3.10/site-packages/pygetwindow/__init__.py", line 347, in <module> raise NotImplementedError( NotImplementedError: PyGetWindow currently does not support Linux. If you have Xlib knowledge, please contribute! https://github.com/asweigart/pygetwindow

該当のソースコード

Python

1import pygetwindow as gw 2 3# メモ帳のウィンドウを取得する。 4print(gw.getWindowsWithTitle('メモ帳')) 5 6# アクティブにする 7memo_window.activate()

試したこと

①pip show pygetwindow
を試しました

Name: PyGetWindow
Version: 0.0.9
Summary: A simple, cross-platform module for obtaining GUI information on application's windows.
Home-page: https://github.com/asweigart/pygetwindow
Author: Al Sweigart
Author-email: al@inventwithpython.com
License: BSD
Location: /home/uta/.local/lib/python3.10/site-packages
Requires: pyrect
Required-by: PyAutoGUI

②import sys
import pprint
pprint.pprint(sys.path)
を試しました。

['/home/uta/ダウンロード',
'/usr/lib/python310.zip',
'/usr/lib/python3.10',
'/usr/lib/python3.10/lib-dynload',
'/home/uta/.local/lib/python3.10/site-packages',
'/usr/local/lib/python3.10/dist-packages',
'/usr/lib/python3/dist-packages']

ちゃんと同じ場所が表示されます。

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

Ubuntu22.04
Python3

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

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

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

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

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

guest

回答2

0

エラーメッセージに「PyGetWindow currently does not support Linux.」と出ている通り、Ubuntuには対応しません。
公式ページにも「Currently only the Windows platform is implemented.」と書いています。

Windows 11、Python 3.12.2で確認したところ、メモ帳が起動している状態で以下のソースが正常動作します。
起動していないと「IndexError: list index out of range」になります。

import pygetwindow as gw # メモ帳のウィンドウを取得する。 memo_window = gw.getWindowsWithTitle('メモ帳')[0] # アクティブにする memo_window.activate()

投稿2024/04/07 09:59

hiroki-o

総合スコア1057

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

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

penpen88

2024/04/08 10:48

ご回答有り難うございます たしかにそうですね ちなみに、Ubuntuでウィンドウのアクティブ化ができるパッケージ・ツールはご存じないでしょうか?
guest

0

ベストアンサー

PyGetWindowはwindows用なので、Ubuntuで使用することは出来ません。

投稿2024/04/07 09:52

fiveHundred

総合スコア10130

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

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

penpen88

2024/04/08 10:49

ご回答有り難うございます たしかにそうですね ちなみに、Ubuntuでウィンドウのアクティブ化ができるパッケージ・ツールはご存じないでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問