PyCharm
Python言語は、このブログでもいろいろ扱っていますが、さまざまな使われ方をします。(Jupyter Notebookのような環境や、ツール内のスクリプトとしたものを記事にしました。)
今回はWindowsやMacなどの上で走る汎用アプリを開発するためのIDE PyCharmを使って見ました。(いつもはVSCode)
RaspberryPiで、プログラミングを教えているとき(小学1年から対象)に、スクラッチのようはブロックを並べるビジュアルプログラミング言語から、次のステップとしてテキストベースのプログラミングを教えるのに、何が良いかとよく考える機会がありました。ProcessingのJavaや、JavaScriptが見やすくなったTypeScript、SonicPiのRuby、デフオルトでIDEがあるPythonか、いややはり基本はC、基本といえばBasicか(Ichigojamは併用していた)、とかなり悩みました。その時は文法が標準的であるProcessingを選びました。素のままでは自由度がありすぎるので、教材としてライブラリを自作したものを利用しました。ProcessingのJavaは通常のJavaを簡略化したものなので、冗長でないところが扱いやすいです。それなりに学習効果かありましたが、マルチプラットホームとはいえ、Processingを経由してでないと動作しないため、限界があります。個人的に好きなPythonを敬遠したのは、UIにコンソールを使うケースが出てくることとか、インデントという独自を記述方法が他の言語にないことが汎用的でないように感じたためです。
しかしながら入門から実用までシームレスに扱うことができることと、衰えることをしない状況を考えると、プログラミングを学ぶ上でやっておいた方が良いでしょう。
そこで、開発を便利にしてくれるPyCharmを紹介することにしました。
https://www.jetbrains.com/ja-jp/pycharm/ (コミュニティ版を使用)
実行環境) Mac(arm64)
最近下記で再びPython関連の記事を書き始めましたが、ここにあるコードをつかいました。
http://crossframe.iiv.jp/202311051283/
wxhello.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import wx class Example(wx.Frame): str1 = 'Good' str2 = 'Morning' def __init__(self, *args, **kwargs): super(Example, self).__init__(*args, **kwargs) self.InitUI() def InitUI(self): wx.CallLater(3000, self.ShowMessage) pnl = wx.Panel(self) btn1 = wx.Button(pnl, label='Close', pos=(20, 20)) btn1.Bind(wx.EVT_BUTTON, self.OnClose) btn2 = wx.Button(pnl, label='Message', pos=(20, 60)) btn2.Bind(wx.EVT_BUTTON, self.ShowMessage2) self.SetSize(550, 250) self.SetTitle('Message box') self.Centre() def ShowMessage(self): wx.MessageBox('Hello!', 'Info', wx.OK | wx.ICON_INFORMATION) def ShowMessage2(self, e): wx.MessageBox(self.join(self.str1, self.str2), 'Info', wx.OK | wx.ICON_INFORMATION) def OnClose(self, e): self.Close(True) def join(self, s1, s2): return s1 + ' ' + s2 + '!' def main(): app = wx.App() ex = Example(None) ex.Show() app.MainLoop() if __name__ == '__main__': main() |
上のメニューバーにある三角マークボタンで実行できます。
テストコードの出力(pytest使用 環境について最下部参照)
クラス名を右クリックして、”Go To”->”Test”->”Create New Test”
ここで選択した関数名をテストコードに出力してくれます。
コードの左にある三角マークでテストを実行できます。(もちろんpytestコマンドでも可)
上記はテスト成功、下記は失敗例
pytestを使えるようにするには、pipでインストールしたあと下記設定をします。
pip install pytest
あとUIのライブラリをインストールをしています。
pip install wxPython
環境はPyCharmが独自に構築します。
% which python
/Users/(username)/PycharmProjects/pythonProject/venv/bin/python
% python -V
Python 3.9.6
% which pip
/Users/(username)/PycharmProjects/pythonProject/venv/bin/pip
・デフォルト
% pip list
Package Version
———- ——-
pip 23.2.1
setuptools 68.2.0
wheel 0.41.2
・pytest、wxPythonインストール後
% pip list
Package Version
————– ——-
exceptiongroup 1.1.3
iniconfig 2.0.0
numpy 1.26.1
packaging 23.2
Pillow 10.1.0
pip 23.2.1
pluggy 1.3.0
pytest 7.4.3
setuptools 68.2.0
six 1.16.0
tomli 2.0.1
wheel 0.41.2
wxPython 4.2.1
使い勝手は良いと感じました。
Category: 未分類