2011年12月15日木曜日

MacのInkscapeでdxfが出力できない

MacのInkscapeでデザインしたやつをdxfでどっかに持っていきたいと思ったけど
なんだかエラーが発生。

自分メモ。
※たぶん結構抜けているので読まれる方は解決のヒントぐらいと思ってください。

MacOSのVersionはLeopard 10.7.2

1. "lxml"がないとかなんとか、って文句言われる。

a) libxml2のインストール
>curl -O ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz
>tar -xvf libxml2-2.7.8.tar.gz
>cd libxml2-2.7.8
>ls
>./configure --with-python=/System/Library/Frameworks/Python.framework/Versions/2.3/
>make
>sudo make install

b) libsltのインストール
>curl -O ftp://xmlsoft.org/libxml2/libxslt-1.1.26.tar.gz
>tar xvf libxslt-1.1.26.tar.gz
>cd libxslt-1.1.26
>ls
>./configure
>ls
>make
>sudo make install
c) lxmlのインストール
>curl -O http://lxml.de/files/lxml-2.2.8.tgz
>tar xvf lxml-2.2.8.tgz
>cd lxml-2.2.8
>sudo  python setup.py install

2. 文字コードがおかしいみたいなこと言われる

上記で対処しても次のエラーが出た。
UnicodeEncodeError: 'ascii' codec can't encode characters in なんたらかんたら

これはpythonのデフォルトがasciiになっているのでなんたらかんたらは扱えねぇっていってるっぽい。

http://d.hatena.ne.jp/sfujisak/20070610/1181487450

によると site-packageにsitecustomize.pyをおけばいいのだが、site-packageがどこにあるかが問題。 pythonを立ち上げて、
import sys
sys.path
とコマンドを打つと、出力が出てきて(たぶん)後ろの方にsite-packageがあるディレクトリが(例:'/Library/Python/2.7/site-packages')あるので この中におけばいい。 再び、pythonを立ち上げ直して
import sys
sys.getdefaultencoding()
ってすると、 'utf-8' ってでるのでこれでOK。 これでちゃんとexportできるようになった!! Windowsでもこの2のエラーが出てた気がするのでなんとかpythonの所在がわかれば対処できそう。