読者です 読者をやめる 読者になる 読者になる

ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

【解決】続・Windows10のpython3.5でlxmlをインストールしようとしたらハマったのでメモ

前回の続き
toriaezu-engineer.hatenablog.com

前回の最後のおさらい

Wheelファイルからインストールしようとするとプラットフォームが違うよってエラーが発生。

lxml-3.6.1-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform.

続き

Wheelファイル名に含まれているcp27とかの値はWheelのバージョンで、pipが対応しているバージョンはpip.pep425tags.get_supported()で確認できるらしい。

Pythonインタプリタを起動して,使えるバージョン確認。

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pip; print(pip.pep425tags.get_supported())
[('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none',
'win_amd64'), ('cp35', 'none', 'any'), ('cp3', 'none', 'any'), ('py35', 'none',
'any'), ('py3', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any')
, ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]

対応バージョンの3つの識別子で判別されるって事?

'py34', 'none', 'any'のをインストールしてみる。

こっからダウンロードして
https://pypi.python.org/pypi/lxml/3.6.0
※非公式ながら有志の方が作ったものらしい

インストール実行エラー・・

C:\Users\\Desktop>pip3.5 install lxml-3.6.0-cp34-none-win_amd64.whl
lxml-3.6.0-cp34-none-win_amd64.whl is not a supported wheel on this platform.

今度は'cp35', 'cp35m', 'win_amd64'

こっからダウンロードして
http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
※非公式ながら有志の方が作ったものらしい

インストール出来た!

C:\Users\\Desktop>pip3.5 install lxml-3.6.1-cp35-cp35m-win_amd64.whl
Processing c:\users\\desktop\lxml-3.6.1-cp35-cp35m-win_amd64.whl
Installing collected packages: lxml
Successfully installed lxml-3.6.1

まとめ

Windowsのpipでモジュールインストール時にエラーが発生したら、非公式ながら有志の方が作ったwheelファイルを元にインストールを行う。
ダウンロードするwheelファイルはpip.pep425tags.get_supported()で確認できるpipの対応しているバージョンのをダウンロードする。

3時間ハマった…