結論としては
- pipのバージョンが7.1.2だったのが悪いのでpipとvirtualenvは最新にする。
- とりあえずvisual studio community 2015を入れる。
でなんとかなった。
以下頑張ってググった話をごちゃごちゃと書く。
pipでインストールを試みる
wxPython-Phoenixはhttp://wxpython.org/Phoenix/snapshot-builds/からインストールすることになっているのでREADME.txtを見てインストールします。pip install --pre --trusted-host wxpython.org -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix
Failed building wheel for wxPython-Phoenixという文字列を含む長いログが出てだめだった。
そもそも.whlじゃなくて.tar.gzをダウンロードしてくるあたりですでに怪しい。
じゃあwhlを直接ダウンロードしてインストールすればいいんじゃないか。ということでcp35でwin32_amd64なwhlをダウンロードしてpip install。だめだった。
wxPython_Phoenix-3.0.3.dev1927+e07098d-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform.
そういえばnoneじゃなくてcp35mになっている。
おもむろにコマンドプロンプト上でpythonと打って
>>> import pip
>>> pip.pep425tags.get_supported()
[('cp35', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp35', 'none', 'any'), ('cp3', 'none', 'any'), ('cp34', 'none', 'any'), ('cp33', 'none', 'any'), ('cp32', 'none', 'any'), ('cp31', 'none', 'any'), ('cp30', 'none', 'any'), ('py35', 'none', 'any'), ('py3', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]
確かにだめっぽい。
インストールに成功するまで
ググるとpipのバージョンを上げろと書いてあったのでpip install --upgrade pipする。>>> import pip
>>> pip.pep425tags.get_supported()
[('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp35', 'none', 'any'), ('cp3', 'none', 'any'), ('cp34', 'none', 'any'), ('cp33', 'none', 'any'), ('cp32', 'none', 'any'), ('cp31', 'none', 'any'), ('cp30', 'none', 'any'), ('py35', 'none', 'any'), ('py3', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]
いけそう。virtualenv _venvして_venv\Scripts\activate.batしてもう一度インストール。だめだった。
virtualenvして現れたpipのバージョンが古かったのでvirtualenvもアップデートする。
再度インストール
pip install --pre --trusted-host wxpython.org -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix
pip freeze
wheel==0.29.0
wxPython-Phoenix==3.0.3.dev1943+fdf739f
できた。
Dll load failedと戦う
>>> import wx省略
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
ファッ!?
from _core import *のあたりがだめらしい。
ググるとVisual Studio Community 2015を入れたら動いたという人を見かけた。
インストールしてみるとVisual C++ 20xx Redistributableを入れたりしていたので多分この辺の問題なのかな。
Hello World的なウィンドウ
>>> import wx>>> app = wx.App()
>>> frame = wx.Frame(None, -1, 'wxtest.py')
>>> frame.Show()
True
>>> app.MainLoop()
よいぞ。
dumpbinのこと
VS入れるのはやりすぎ感すごいんだけどVSを入れることによってdumpbinが使えるようになる。合ってるかわからないがこんな感じ。
dumpbin /dependents _core.cp35-win_amd64.pyd
Microsoft (R) COFF/PE Dumper Version 14.00.23506.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file _core.cp35-win_amd64.pyd
File Type: DLL
Image has the following dependencies:
wxbase30u_vc140_x64.dll
wxbase30u_net_vc140_x64.dll
wxmsw30u_core_vc140_x64.dll
KERNEL32.dll
python35.dll
MSVCP140.dll
VCRUNTIME140.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
Summary
13B000 .data
1000 .gfids
40000 .pdata
107000 .rdata
23000 .reloc
6000 .rsrc
2F4000 .text
とりあえずVC++2015再配布可能パッケージを入れてみるとよいかもしれない。
0 件のコメント:
コメントを投稿