django-sphinxdoc 試したけど使わなかった
こちらのエントリーみて、納品直前に使いかけた django-sphinxdoc 。django-sphinxdoc の動作としては、Sphinx ドキュメントを JSON 形式でDBに入れて、Heystackで全文検索できるようにしてくれるというもの(と思われます)。
しかし、半日ほど試行錯誤した結果、取りやめたので経過をメモしておきます。
欲しかったもの:
やめた理由:
- Sphinx のドキュメント、各ページをDBに保存する仕組み (想定より重厚に感じた)
- Heystack に初めて触れた (知識は増えたが、心のハードルあがったw)
- templates/base.html が用意されてることが前提 (base.html は作りこみしてなく、Sphinxのテーマのまんまが綺麗と思ってしまった)
導入は、そんなに難しくなく、この手順などで行けました。しかし、ver1.4.0の場合そのままで動かずコードを2箇所ほど修正(UTF-8にない ' 文字?)した事もあり、今回はやめました。
staticなドキュメントをauth配下においてくれるぐらいの、ライトな仕組みが何かないかなぁ?
Python & Django 読んでおきたいエントリー
ここ一年ほど、Python&Djangoをやってきて気になったエントリー集。けっこう好きになった気がする > Python。壮大なフレームワークなんだねと実感してきた > Django。
読破したというより、読んでみたいがメインではあります。あと、Pythonメインの選定になってる。
Python
PHP, Perl , JSプログラマーが、Pythonを初めて一ヶ月ではまったポイントなどを整理してくれている、2010年のエントリー。is in 演算子とか、switchがないとか。「 x = 'foo' if <条件式> else 'bar' 」は、三項演算子だったかぁと気づいたり(いまさら。。。)
「 x, y = y, x 」で値の入れ替えを行ったり、スライスの「 items[start:end:step] 」 step を指定して、飛び飛びの値を指定できる。「from xxx import (x, y, z)」 が流行りとあり、トレンドってあるんだなぁと知りました。
AWS SDK for PHP 2 / 3 ドキュメント作成環境
mysqlclient / MySQL-python コンパイルエラー対処
Redhat w/SCL + pip で、Django/python の MySQLドライバ mysqlclient / MySQL-python がインストール出来なかった対処メモ。
SCLの問題というか、Redhatのrpmパッケージの考え方の問題なのかな?
# MySQL の mysqlclient と python と名前が被って若干混乱
状況と解決
pip でインストールをすると gcc が走ってコンパイルを行うのですが、どちらのドライバも同じ所で失敗してしまってました。
gcc -pthread -shared build/temp.linux-x86_64-2.7/_mysql.o -L/opt/rh/mysql55/root/usr/lib64/mysql -L/opt/rh/python27/root/usr /lib64 -lmysqlclient -lpthread -lz -lm -lrt -lssl -lcrypto -ldl -lpython2.7 -o build/lib.linux-x86_64-2.7/_mysql.so /usr/bin/ld: cannot find -lmysqlclient
mysqlclient でググルと、MySQL-develと一緒に提供があるとの情報と、libmysqlclient.so によるとある。
flake8 2.5.0 のエラー対処 on Ubuntu
Ubuntu に pip で flake8 を入れたら、上手く動かなかった。次の対処で上手く動作したのでメモ。
対処1
設定ファイル書くか -j0 オプション付けて並列処理をなくしたら動作。
vi ~/.config/flake8 [flake8] jobs = 1
$ cat /etc/os-release NAME="Ubuntu" VERSION="14.04.3 LTS, Trusty Tahr" $ python -V Python 2.7.6 $ flake8 --version 2.5.0 (pep8: 1.5.7, pyflakes: 1.0.0, mccabe: 0.3.1) CPython 2.7.6 on Linux
対処2
あとから、apt-get でインストールしたらよかったと気づいた。。。
こっちのバージョンだと jobs オプションがないようなので、さっきのファイルは削除。
sudo apt-get install python-flake8
$ flake8 --version 2.1.0 (pep8: 1.4.6, mccabe: 0.3.1, pyflakes: 0.8.1) CPython 2.7.6 on Linux
Ubuntu 側でパッケージが用意されてる見極めって、どのラインなんですかね?CentOSと両方使ってると、ついつい pip からはいってしまう。