Python3.4 64-bitでGUIプログラミングしてみる。
32ビット版のPython2.7で頑張ってきたけども、PCのメモリが有効に使えないのが残念なので移行に向けて準備を初めて見る。ちょっと下調べすると
numpyなどのscienticなライブラリはほぼPython3移行済み。 GUIはPyQt4がPython3対応済み。wxPythonは正式なリリースはないけど、Developmental版があってリリースも近そう。 cx_FreezeがPython3対応している(64ビット版も)。
なので自分の用途では特に障害はなさそう。
Python3.4のインストール
https://www.python.org/downloads/release/python-340/ から Windows x86-64 MSI installer をダウンロード。
インストーラーで、pipをインストールするにチェック、Tkは使わないのでチェックを外して、システムのパスにPythonを登録するチェックもPython2.7がメインなので外した。(追記:Tkがないとmatplotlibをpipした時に怒られたので、インストーラーを起動して、Changeを選んでTk入れなおした。)
wxPython3.0.1(デベロッパー版)のインストール
デベロッパー向けのメーリングリストによるとwxPythonのPhoenix系はPython3をサポートしていて、最新版のビルドがhttp://wxpython.org/Phoenix/snapshot-builds/に上がっているので、これをeasy_installするかpipしてインストールできるらしい。wheel形式らしいが、これはeggが新しくなったものらしいのでzipされたバイナリー。
ちなみにリリース版がでたら
pip install wxpython
で済むはずだが、今日はやはりエラーになった(リリース前なので当たり前)。
C:\Python34\Scriptsに移動して、
pip install –f http://wxpython.org/Phoenix/snapshot-builds wxpython-phoenix
だとNo distribution matching the version for wxPython-Phoenixとか言われてしまった。これはリリースされたバージョンが見つからないからで、デベロッパー向けのメーリングリストによるとpipで pre-releaseのモジュールをインストールするには--preというオプションがいるのだそうで、
pip install --pre –f http://wxpython.org/Phoenix/snapshot-builds wxpython-phoenix
とやったらうまくいった!
テストコード:
import wx
class Test(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "wxPython3.0.1 on Python3.4 64bit!!!")
tc = wx.TextCtrl(self, -1, "Hello World!")
btn = wx.Button(self, -1, "Yattsuke Blog")
vbox = wx.BoxSizer(wx.VERTICAL)
vbox.Add(tc, 0, wx.EXPAND)
vbox.Add(btn, 1, wx.EXPAND)
self.SetSizer(vbox)
self.Show(True)
if __name__ == '__main__':
app = wx.App(0)
Test = Test()
app.MainLoop()
ちなみにeasy_installだと
easy_install.exe -f http://wxpython.org/Phoenix/snapshot-builds wxpython-phoenix
Best matchでtar.gzからインストールしようとするも、ビルドで失敗してエラーになる。
« PyCon2014のトークの感想とDavid Beazleyファンクラブ設立のおしらせ | トップページ | Python3.4 64-bitでnumpyなどインストール。 »
「Python」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)