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

へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

WindowsでPython3.4.3の実行環境つくってみた && windowsにpyquery(←lxml)をinstallした

Windows Python C++

注意

python完全初心者向けではないので、初心者の人はLinuxつかったほうが楽だとおもいます。

本編

Macでつくったpythonのアプリケーションを、WindowsでちょこっとだけGUI化して配布してPythonとか全然知らない一般人でも使えるようにしようかなとおもって環境構築をした

VirtualBoxに入れたWindows8.1で環境構築をした

まず、WindowsにはChocolateyというパッケージ管理システムというものがあるので
これを使ってみた
インストールは、Qiitaにあがっていた誰かのコマンドプロンプトにコピペして貼り付けたらいいよってやつ貼り付けた。

PowerShell> choco install vim

のようにしたらvimがインストールされて便利……

ただし管理者権限でPowerShell起動しないとよくわからんエラー吐いて落ちる。

そして

PowerShell> choco install python

のようにしてpythonをインストールして使っていたところ……

『chocolatey使うのやめたほうがいいよ』という神の言葉をいただいた。
Windowsで64bitコンパイラを使うを書いた人に)

なんでかって言うと、chocolateyって、LinuxyumやらMacのHomebrewとは違って、インストーラとか適当で、バイナリファイルを裏で実行してインストールしているだけらしいからだ。
そしてそのバイナリファイルも、べつにきちんとバージョン管理されているわけではないので、
『手動で入れたほうがいいんじゃね!』ということだった。

なので、Python3.4.3のWIndowsバイナリで、32bit版をインストールした。64bit版はめんどくさいらしい。
でも32bit版もちょっとめんどくさくないだけでじゅうぶんめんどk(ry

なおあのさっきのリンクに書いてある文章をちゃんと読んでからやったほうがあとあと詰みにくいと思う。

Visual Studio C++ 2010 Expressは、公式ページにそのまま行っても、2015年版がダウンロードされちゃうので、
がんばってさがした結果、ここに書いてある人のリンクからダウンロードした。blog.ionelmc.ro


無視してるとpip installで、C++で書かれたライブラリをインストールしようとするところで詰む
C++コンパイラがなければそりゃビルドできなくて落ちるよねって話。MacとかLinuxは最初からgccが入ってるから便利。Clangはあんまり好きくない)

pythonの公式サイトで、python3.4.3のwindows32bit版をダウンロードする

なお、windowsではpipはpip install yattehaikenaiではなくて

PowerShell> python -mpip install virtualenvwrapper-win

のように使わないと、あとあとすごくめんどくさいことになるらしいので、そうやってやるべき

コマンドが上手く動かない時は、Path設定がおかしくて、それはまぁ環境設定のところで直せるんだけど、
Path設定がおかしいということは、そもそもうまくインストールされていないので
今後もWindowsPythonを使うつもりなら、きちんとインストールできるようにしたほうがいいんじゃねっておもった。

PowerShell> mkvirtualenv hoge

のようにして仮想環境ができたら成功。やったぜ。

C++が必要なやつ、たとえばpyqueryなどはC++でビルドできないと失敗するので、
何かしら怒られたら、Python3.4.3のためのC++のビルド環境ないんじゃボケという意味なので
がんばる!!!!!!!!!!!!!!!!!!!

まとめ!!!

  • .NET Framework 4とかついてるSDK入れる
  • Visual C++ 2010 Expressいれる
  • Visual Studio SP1アップデートなんちゃらをいれる
  • コンパイラ更新プログラムをいれる
  • Python3.4.3を32bit版でいれる
  • pipでのインストールはpython -mpip でいれる(python3.4は、デフォルトでpipが入っているので、いちいちget-pip.pyとかダウンロードしない。easy_installからもpipをインストールしない。pipのupdateが失敗する【パスがふつうじゃなくなる】ので、使えないときは大人しくしっかりインストールできるまでがんばる
  • virtualenvwrapperを入れよう!!!pyenvでもいいらしいけど、virtualenvの方がよさげ
  • C:\Python34\Scriptsがないと、たとえ動いていても、たぶんインストール失敗してる。

なおVisual Studioとかのせいで結構容量食うので注意

おまけ(lxmlのインストール)

pyqueryを入れようとすると、
その依存関係のlxmlのインストールで詰む

これはVisual Studio 2008でlxmlが作られていることから生じているようだ。
F... Thank you Microsoft. You don't save my life.

なので、
stackoverflow.com
の人のやり方でインストールした。
たしかに、既にビルドされているものをパスだけ設定するなら、べつにコンパイラとか使わないもんね。

↑無理だった。いやインストール自体は成功したけど。

from lxml import etree

でImportErrorが出た。死ねばいい

有志の人がつくってくれたwheelファイルがあるので、
それを使ってインストールした
http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

まずwheelがないので

python -mpip install wheel

でインストールしようとしたら
pipの新しいバージョンがあるよと言われたので

python -mpip install --upgrade pip

そしてまた、

python -mpip install wheel

さっきダウンロードしたlxmlのwheelファイルを

python -mwheel install $HOME\Downloads\(ry

してインストール

これでエンド/(^o^)\

pyqueryもインストールして、やっと使えるようになった。

ぼくはもう、普段はWindowsで絶対開発しないぞと
そうおもった。