2010年12月08日
Inkscape0.48でtextext0.4.4を使用する方法に関する
日本語の記事が見受けられなかったので、私がやった方法を書き留めておく。
私はwindows7(64bit)で作業したが、おそらくwindowsXPでも問題ないはず。
windows7の場合は、設定ファイルの書き換えを管理者権限で行う。
これをやらないと、設定ファイルを書き換えたつもりが、
書き換わってないという状態が起きる。
これで、バカみたいにハマった。
まずは通常通りインストールを行う。
Inkscape 0.48: Inkscape-0.48.0-1.exeを実行
textext 0.4.4: textext-0.4.4.exeを実行
pstoedit: pstoeditsetup350.exeを実行し、パスを通しておく
これだけでは上手くいかない。
そこで、C:\Program Files (x86)\Inkscape\share\extensions\textext.pyを書き換える。(pythonの形式に従うので注意。pythonのインデントは重要な意味をもつ。)
まずは、md5を使うなとDeprecationWarningがでるのでそれを抑える。
#でコメントアウトし、新たに行を追加する。
55行目
# import os, sys, tempfile, traceback, glob, re, md5, copy
import os, sys, tempfile, traceback, glob, re, copy
import hashlib
874行目
# self.hash = md5.new('%s%s' % (a, kw)).hexdigest()[:8]
m = hashlib.md5()
m.update('%s%s' % (a, kw))
self.hash = m.hexdigest()[:8]
次に、テンポラリフォルダに関するバグあるのでそれを修正する。
テンポラリフォルダはどこかに自分で用意する。
651行目
# self.tmp_path = tempfile.mkdtemp()
self.tmp_path = 'c:/w32tex/temp/'
736行目
# self.try_remove(self.tmp_path)
残念ながら、これでもまだエラーがでる。
幸いなことに、エラー対策をしてくださった方がいるので、
以下のURLからsite-packages.zipをダウンロードする。
http://dgleich.wordpress.com/2010/10/26/fixing-textext-on-inkscape-for-windows/
ダウンロードしたsite-packages.zipを解凍し、
C:\Program Files (x86)\Inkscape\python\Lib\site-package
に上書き保存する。(もちろん管理者権限で。)
これで動作するはず。ここまでして使う必要があるかは分かりません。
エラーが起きる理由はどうやらInkscape0.48の内部にあるpythonが2.6にバージョンアップしたのが原因らしいです。textextの作者が修正してくれると楽になるんだけど…。
参考URL
http://bitbucket.org/pv/textext/issue/55/textext-using-inkscape048
http://bitbucket.org/pv/textext/issue/1/module-md5-deprecated-in-python-26
http://www.empitsu.com/wp/?p=758
日本語の記事が見受けられなかったので、私がやった方法を書き留めておく。
私はwindows7(64bit)で作業したが、おそらくwindowsXPでも問題ないはず。
windows7の場合は、設定ファイルの書き換えを管理者権限で行う。
これをやらないと、設定ファイルを書き換えたつもりが、
書き換わってないという状態が起きる。
これで、バカみたいにハマった。
まずは通常通りインストールを行う。
Inkscape 0.48: Inkscape-0.48.0-1.exeを実行
textext 0.4.4: textext-0.4.4.exeを実行
pstoedit: pstoeditsetup350.exeを実行し、パスを通しておく
これだけでは上手くいかない。
そこで、C:\Program Files (x86)\Inkscape\share\extensions\textext.pyを書き換える。(pythonの形式に従うので注意。pythonのインデントは重要な意味をもつ。)
まずは、md5を使うなとDeprecationWarningがでるのでそれを抑える。
#でコメントアウトし、新たに行を追加する。
55行目
# import os, sys, tempfile, traceback, glob, re, md5, copy
import os, sys, tempfile, traceback, glob, re, copy
import hashlib
874行目
# self.hash = md5.new('%s%s' % (a, kw)).hexdigest()[:8]
m = hashlib.md5()
m.update('%s%s' % (a, kw))
self.hash = m.hexdigest()[:8]
次に、テンポラリフォルダに関するバグあるのでそれを修正する。
テンポラリフォルダはどこかに自分で用意する。
651行目
# self.tmp_path = tempfile.mkdtemp()
self.tmp_path = 'c:/w32tex/temp/'
736行目
# self.try_remove(self.tmp_path)
残念ながら、これでもまだエラーがでる。
幸いなことに、エラー対策をしてくださった方がいるので、
以下のURLからsite-packages.zipをダウンロードする。
http://dgleich.wordpress.com/2010/10/26/fixing-textext-on-inkscape-for-windows/
ダウンロードしたsite-packages.zipを解凍し、
C:\Program Files (x86)\Inkscape\python\Lib\site-package
に上書き保存する。(もちろん管理者権限で。)
これで動作するはず。ここまでして使う必要があるかは分かりません。
エラーが起きる理由はどうやらInkscape0.48の内部にあるpythonが2.6にバージョンアップしたのが原因らしいです。textextの作者が修正してくれると楽になるんだけど…。
参考URL
http://bitbucket.org/pv/textext/issue/55/textext-using-inkscape048
http://bitbucket.org/pv/textext/issue/1/module-md5-deprecated-in-python-26
http://www.empitsu.com/wp/?p=758
トラックバックURL
この記事へのコメント
1. Posted by zygglades 2011年12月05日 20:44
その時は契約の解除、事故がおきた場合に、保険金が支払われません。
