ラベル python の投稿を表示しています。 すべての投稿を表示
ラベル python の投稿を表示しています。 すべての投稿を表示

2022-01-26

python3, pygameの起動時の窓の位置を設定する

OS : Linux Mint 20 xfce
プログラム言語 : python 3.8
ライブラリ(GUI) : pygame 1.9.6

pythonでお気軽にゲームを作成することができるライブラリに pygame がある。

インベーダーゲームやブロック崩しなどのサンプルも、ダウンロードすることですぐに遊ぶことができる。
pygameに関する情報は、書籍やネットで得ることができる。現在、情報は多くはないが、今後増えていくと思われる。

実際にプログラムを作成して、実行させてみたところ、1つの疑問にあたった。

窓が一定以内の大きさで実行すると、起動時は画面の中央位置に表示される。しかし、一定以上大きく設定すると、画面の中央に表示されることはない。

 

<< 何をしたい >>

pygameを使って、画面の中央に窓を表示させたい。
または、表示する位置を指定したい。


<< 解決方法 >>

以下の方法で、起動時の窓の位置を設定できる。

1.画面の中央に窓を表示させる。

import os
# 画面中央に表示
os.environ['SDL_VIDEO_CENTERED']= '0'

 

2.画面上の窓の左上座標を 左から500px、上から200px に設定し、表示する。

import os
# 窓の位置設定
pos_x = 500
pos_y = 200
os.environ['SDL_VIDEO_WINDOW_POS']= '%i,%i' % (pos_x,pos_y)

 

参考にしたサイト
FIXES.PUB
https://www.fixes.pub/program/299654.html

#python, #pygame, #窓, #表示位置, #初期画面


2022-01-01

Linux用のガジェットを自作してみた

新年明けましておめでとうございます。 2022年元日。

OS : Linux Mint 20 xfce

プログラム言語 : python 3.8
GUI : wxpython

Linuxでは気に入ったガジェット(便利な小道具)があまり見当たらないため、自作してみることにした。

pythonのGUIでは、tkinterが有名だが、wxPythonは機能が豊富であることが特徴だ。以前、pythonのバージョン2から3に移行されたが、wxPythonはしばらく対応していなかったため、使用していなかった。

今回はデザイン性より、とにかく作成することを優先したためプログラムは、現在は公開していない。ただし、デザインおよびプログラムを改良した上で改めて、後日公開したいと考えている。

wxPythonで作成されたガジェット
ガジェットの内容

プログラム起動時は、画面の右端にほぼ隠れた状態で表示される。窓の左端をクリックすると、左にスライドし、全ての内容が表示された状態になる。再びガジェット窓の左側をクリックすると、隠れた状態にすることができる。

Linux用ガジェット(起動時の表示)
Linux用ガジェット(起動時)

 今回、表示されるデータは、日付、祭日名や行事名、天気、ニュースのヘッドライン、2ヶ月先の予定表、お気に入り格言、ToDoリストである。祭日名や行事名、予定表、格言、ToDoリストのデータは、個別にCSVとして作成した。

他に、宝くじの当選番号、特定ブログのRSS、 日の出・日の入り時刻、地域別のニュース、株の情報などを表示させることも可能だ。

wxPythonがうまく機能するかどうかは、ディスクトップの設定に依存する。このため、同Mint系のMATEやKDEでは、同じプログラムで正常に動作しない可能性がある。また、同xfceでも、設定次第では表示位置がズレてしまう。


#ガジェット, #python, #wxpython, #天気, #ニュース, #予定表

2021-03-11

python3, ライブラリ名を読み込んでエラーが出力される

 言語 : Python 3.8

<< トラブル >>

自作のライブラリを読み込んで、

SyntaxError: invalid syntax

というエラーが出力される。

 

<< 解決方法 >>

自作のライブラリ名を数値から始まる名前にしてはいけない。
英字または、全角の日本語(推奨でない)で始まる名前にする。

2021-03-07

python3, リナックスには使えないライブラリがある

 OS : Linux Mint 20 xfce

キーボード関連のライブラリ msvcrt は、リナックスではインストールできなかった。pip3 install msvcrt では、赤色のエラーが出力。ソフトウエアの管理でも検索できなかった。
windows用のライブラリらしい。(未確認)

tkinter 上でHTML言語で文字を表示するライブラリも、現在使えなくなっている。もしかして、これもwindows用なのかもしれない。(未確認)

リナックスで、キーの割り込み処理は tkinter か pygame のライブラリしか見つかっていない。

2021-01-06

python3,Linux MintにwxPythonをインストールする

OS : Linux Mint19 xfce

wxPyhtonは、高機能なpython3のGUIだ。

python 2 で使用していたが、python 3 では一時期対応していなかったが、現在では使用可能となっている。
標準のtkinterと比べて、機能面で優れているようだ。

Python3-wxgtk4.0 をインストールすると

import wx

 でエラーが出力されない。

2020-12-20

エディタGeanyをpythonプログラムを独立したターミナルで実行させる

 OS : Linux Mint 20 xfce
エディタ : Geany 1.36 

pythonのプログラムを作成するためのエディタの一つに、Geanyがある。

プログラム実行時に、エディタ内蔵の端末か、OSの端末を介するかを設定することができる。

操作上、OSの端末のほうが使いやすい。

初期設定では、エディタ内蔵の端末のため、変更するためには次の通り。

「エディタ内蔵の端末」(デフォルト)の設定
VTEでプログラムを実行にチェクを入れる

「OSの端末」の設定
VTEでプログラムを実行のチェクを外す

 

OSの端末での実行



2020-08-20

pythonでつくったプログラムが動かない001

 

OS :  Linux Mint xfce
Version :  python3 3.7x

【 エラー状況 】

正常に動作していたプログラムが、エラーを出力する。
共通していることは、pandas や numpy をインポートしたプログラム。

pandas や numpy に関連したエラー。

【 原因 】

特定のライブラリーをインストールした際に、新たにpandas がインストールされた可能性がある。
このため、既存のpandasと新たなpandasが、何らかの原因でエラーのもとになっている可能性がある。


【 対処 】

pandas と numpy を削除した。

$ pip3 uninstall -y pandas

$ pip3 uninstall -y numpy

のように pandas と numpy をアンインストールすることによって、エラーが解消された。

2019-08-23

python,pandasエラー

OS :  Linux Mint xfce
Version :  python3 3.6x

【 エラー状況 】

今まで正常に動作した複数のプログラムが、エラーを出力する。
共通したことは、ライブラリ pandas や numpy をインポートしたプログラム。

pandas や numpy に関連したエラー。

【 原因 】

特定のライブラリーをインストールした際に、新たにpandas がインストールされた可能性がある。
このため、既存のpandasと新たなpandasが、何らかの原因でエラーのもとになっている可能性がある。


【 対処 】

pandas と numpy を削除した。

$ pip3 uninstall -y pandas

$ pip3 uninstall -y numpy

のように pandas と numpy をアンインストールすると、エラーが解消された。

2019-06-01

python,python3.xではurllib2は別なライブラリに置き換えられた

python3でurllib2をインポートしたところ、エラーが出力された。

$ pip3 install urllib2

Anaconda 使用時
$ conda install urllib2
を実行したところ、インストールできなかった。
調べてみると、
Python 3 で urllib2 は urllib.request, urllib.error に分割された。

追)2019-06-02
urllib3をインストールすることは可能
$ pip3 install urllib3
Anaconda 使用時
$ conda install urllib3

2019-05-25

python,pandasやnumpyのライブラリをインストールしたが、エラーが出る

OS : Linux Mint 19 xfce

python3 のライブラリ pandas をインポートするとエラーが出力される。
エラーメッセージは「numpy のインポートエラー」。

《 対処 》
$ pip uninstall -y pandas

$ pip uninstall -y numpy

のように pandas と numpy をアンインストールすると、エラーが解消されて正常に読み取った。 

apt や pip を使って二重にインストールした可能性がある。このために、ライブラリが正常に認識されなかったのかもしれない。

2019-05-23

python,anacondaでは、espeakライブラリは?

OS : Linux Mint

python には、文字を音声に変えるライブラリに espeak がある。
anaconda を利用した場合、ライブラリ espeak は使えなかった。

2019-03-25

python,spyder3をanaconda3から起動するのではなく、ソフトウェアの管理からインストールしたものを起動する

spyder3はanaconda3をインストールすることによって使用可能になる。

 しかし、プログラム実行時にフォントの不具合や、ライブラリの読み込み不具合の理由から「ソフトウェアの管理」からインストールしたものを使用する設定方法。

spyder3 があるフォルダは

/usr/bin

である。

メニューエディターに登録する場合のコマンド記述

/usr/bin/spyder3 %F

とし、詳細 項目で

Generic Name を Spyder3 (default)
Try Exec を spyder3
Mimetypes を text/x-python;


とした。

python プログラムを初めて使用する時
マウスメニュウーから
アプリケーションで開く -> 他のアプリケーションから開くで
メニューエディターで設定した Spyder3 (default)を一度選択すれば、
次回から、アプリケーションで開くの候補にプログラムが表示される。


python,tkinterでHTMLを使って表示する

ライブラリ tk_html_widgets を導入する。

参考サイト https://pypi.org/project/tk-html-widgets/


tk_html_widgets は HTML を使って、文字の大きさ、色、強調などのスタイルを変更できる。

一行内の文字色や強調を 上記のライブラリを使用しなくてもできるが、プログラムを簡素化することができる。

ただし、全ての HTML に対応しているわけではない。

2019-03-23

python, 読み上げプログラム

A)
OS : Mint 19 xfce
python 3.6

B)
Anaconda3
python 3.7

その1 A), B)

import os
os.system("espeak 'my picture'")

その2 B) talkeyをインストール

import talkey
tts = talkey.Talkey()
tts.say('I love Japan.')

その3 A) espeakをインストール

from espeak import espeak

espeak.set_voice("en")
espeak.synth("hellow word")
while espeak.is_playing:
	pass

その4 A) B)  gTTSをインストール

from gtts import gTTS
import os

tts = gTTS(text='I love Japan', lang='en')
tts.save("voice.mp3")
os.system("mpg321 voice.mp3")

2019-03-21

python実行プログラムがあるフォルダー

python3 を anaconda 以外で使用するための設定

OS : Linux Mint 19 xfce
Python Version 3.6

python3の実行ファイル /usr/bin/python3.6

2018-08-27

python, pyqt5で作成した表に日本語入力は可能か?

日本語入力が可能である。

fcitx の設定によっては全角文字が入力できない。
anaconda3 を使用すると全角文字入力ができなかった。


追加)
anaconda3を使用せずに起動すると、全角文字(日本語)で入力ができる。



2018-07-27

python, 外部プログラムを認識しない

python のプログラムの1行目に宣言されているコード

#!/usr/bin/python3.5

の バージョンを表す数字を気にすることがない。
通常実行する場合、3.5であろうが3.6でもエラーが出力されない。

しかし、外部プログラムとして呼び出す場合、使用中の python バーションと一致していなければ、次のエラーが出力される。

呼び出されるプログラム名: not found

具体的には

呼び出されるプログラム

▶ abc.py
#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
import sys

args = sys.argv 
print ("予選リーグ突破 おめでとう! ")
# args[0]  フルパスのプログラム名
# args[1] プログラム名への文字渡し
print ("えっ 何!  ", args[1])

呼び出す方のプログラム

▶ efg.py
import os
import subprocess

mdir = os.path.abspath(os.path.dirname(__file__)) + "/"
sub_mdir = "lib_a/"
pro_name = "abc.py"

# 外部プログラム呼び出し 戻り値  result 
result = subprocess.run(mdir + sub_mdir 
+ pro_name + "  大迫半端ない", shell=True)
print (result)

# 正常に終了したときの 戻り値
# CompletedProcess(args=('/home/220.../...../
lib_a/abc.py', '大迫半端ない'), returncode=0)
if result.returncode != 0:
# エラー時の処理 returncode が 0 以外
 print ("こらぁ〜 エラーいことになっとるぞ!")

使用のpython バージョンが 3.6 であれば、次のエラーが出力される

/b......: 1 /home/22...../......../lib_a/abc.py: not foundCompletedProcess(args='/home/22...../......../lib_a
/abc.py 大迫半端ない', returncode=127)
こらぁ〜 エラーいことになっとるぞ!

abc.py は見つからない( not found )というエラーが返ってくる。

 #!/usr/bin/python3.6


と書き換えるとことによって、エラーが解消される。

正常に実行されれば

予選リーグ突破 おめでとう! abc.py
えっ 何!   大迫半端ない
CompletedProcess(args='/home/220.../.../lib_a/abc.py 大迫半端ない', returncode=0)


と正常に終了する。



2018-07-07

spyder3のエディタとコンソールのフォントサイズを変更する

python3 の統合開発環境である spyder3。

エディタとコンソールのフォントサイズを変更するには、

メニュの ツール >> 設定 にある 設定設定パネル内から

「一般を選択」

「外見」タブ
フォント項目から フォントサイズを設定する。

設定項目は、

「プレーンテキスト」 (エディタとコンソール)
「リッチテキスト」 (ヘルプなどの使用方法についての文字)

がある。

[  環境 ]
OS : Linux Mint 19 xfce (64bit)

spyder3インストール後にAnacondaのpython3ライブラリを使用する設定

pythonのライブラリで有名なAnaconda3(以下 Anaconda)は、プログラムを作成する上で便利である。
ほとんどのライブラリが含まれている。

■spyder3が起動しない


python3の統合開発環境であるspyder3(以下 spyder)は、Anaconda(Anaconda3-5.2.0-Linux-x86_64を使用)やLinuxのソフトウェアに含まれている。
ターミナルからAnacondaのspyderを立ち上げようとしたところ、

Segmentation fault (コアダンプ)

と、初期の表示だけで本体は立ち上がらなかった。
メモリのエラーである。

■LinuxからspyderをインストールしてAnacondaのライブラリを指定


ソフトウェアの管理からspyderをインストールした。
起動させると、pythonのライブラリがAnacondaから読み込まれていない。

spyderからAnacondaのライブラリを読み込む方法は以下の通り

1) spyderを起動

2) ツール >> 設定 と設定パネルを表示

3) 設定パネルから [ Pythonインタープリター ] >> [ Spyderコンソールで使用するPythonインタープリターの選択 ] から

以下のPythonインタープリターを使う」 を選択

4) インタープリターのファイル名の指定は、Anacondaフォルダー内にある次のファイルを指定する

/home/ユーザー名/anaconda3/bin/python3.6

(一般的にanaconda3フォルダーはユーザー名のフォルダー第一階層ににインストールされている)

5) OK ボタンで設定を閉じ、再起動する。

設定作業終わり

■成功したか確認


すると、起動直後のコンソール内に

Python 3.6.5 |Anaconda, Inc.・・・・・

が表示されていればAnacondaのライブラリ指定終了である。

試しに、 numpy をインポートしてみる。

[  環境 ]
OS : Linux Mint 19 xfce (64bit)


2018-05-15

Linux Mint Python,アップデートしたらPythonに不具合が出た

通常のアップデートを指定通りすると、python3.5および3.6に不具合が出た。

《 不具合の内容 》
ライブラリ tkinter をインポートしても認識されず。python3で作成した、自作アプリが起動しなくなった。
3.5系 や 3.6系 の両バーション共に不具合がある。 2.7系で作成されたアプリは正常に動作した。

OS : Linux Mint 18 xfce

不具合が出たアップデートファイル。

1) python3-stdlib-extensions
2) python3.6

以上2つ

python3-stdlib-extensions インストール時に、idle-python3.5 は削除される。
代わりに 次の7つのファイルがインストールされる。

libpython3.6
libpython3.6-dev
libpython3.6-minimal
libpython3.6-stdlib
python3.6
python3.6-dev
python3.6-minimal


python3.6 インストール時に、idle-python3.5 は削除される。
代わりに phthon3-tk (tkinter ライブラリ) がインストールされる。

《 対処 》
対処法が分かるまで、アップデートリストから、python3-stdlib-extensions と python3.6 を削除する。