AWS / PHP / Python ちょいメモ

amazon web service , PHP, Python を使ったときのメモ。日本語でググってもわからなかった事を中心に。

Beautiful Soup 4.x では parser を明示指定しよう

pythonスクレイピングなどを行うときに便利なのが BeautifulSoup (ここでは bs4 を扱っています) 。
parserを選択できる仕様になっていますが、 4.3.xまでは明示的に指定しなくても、適度に動いていました (どう動いてたかは、調べてない)。

こちらにあるように、lxmlやhtml5libがインストールされている場合はそちらが優先されるそうです。


4.4.x からは明示的に指定しないと、自動選択されるとともにWARNING がでて、何を使って動いてのかを教えてくれます。

lxml が自動で選ばれた例)

soup = BeautifulSoup(html)
..python2.7/site-packages/bs4/__init__.py:166: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.

続きを読む

Mac に pythonz 入れる前にやっておくこと

direnv構築 していて遭遇した問題の原因がわかった。homebrew版のpythonが必要なのではなく、「homebrewでopensslを事前にインストールしておく必要がある」が正解だった。

先に openssl を入れておかないと、pythonz で落としてきたpythonのBuild時に openssl無しのBuildが行われる。前回は、この順番がおかしかったみたい。



(2016/12/06 追記) ここで紹介した手順では導入できなくなっるようなので、修正手順を別記事にまとめました。

続きを読む

Pillow インストール前にやっておきたいこと

Sphinx で blockdiag + IPAフォントを使った時のTIPS。Ubuntu上で make html を行ったところ、次のエラーがでて図が出力できなかった。

ImportError: The _imagingft C module is not installed

blockdiag_fontpath で、IPAフォントを指定したところエラーが発生するようになった。フォントは入ってる。

続きを読む

STATIC_URL と MEDIA_URL は 異なる値が必要

タイトルの通りです。本番側でDebug=Falseで触ってたら気づかなかった。

f:id:hidehara:20160421155349p:plain


FileField 使ったのですが、同じパスにしたら、上げたファイルをapacheの設定変えなくても見えるじゃんと、手抜きしたのがいかん。

ちゃんと、開発でDebug=Trueで作業してからあげましょう。っていうだけの話でした。

homebrew direnv には homebrew python が必要?

(4/27 追記) homebew版 python が必要ではなく、direnv で使ってた pythonz で pythonを入れる前に homebew版 openssl が必要だったのが問題点でした。
Mac に pythonz 入れる前にやっておくこと - AWS / PHP / Python ちょいメモ

      • -

direnvをよく目にするので使ってみようと思ったものの、手元のMacで使うのに時間がかかった。

結論としては homebrew でインストールした direnv 使うには、母体となる python も homebrew で入れる必要あり?というところに落ちました。

母体はオリジナルにしておきたかったので direnv 使おうと思ったんだけど、若干本末転倒?でもディレクトリ移動するだけで使えるのは便利ですね。

環境

続きを読む