2011年9月15日

[Python] reStructedText WYSIWYG editor from Enthought

[1] 討論了如何在 Ubuntu 10.10 上安裝 Enthought 的 reStructedText WYSIWYG editor。不過在 Win7 上面卻是一堆問題。下面要描述的就是如何讓這個好物在 Win7 上面跑起來。



首先,要安裝 Python,這邊選用的是 [2]。其他的沒試過!其次,要安裝 PyQT [3]。
因為 Enthought 的一些套件需要用到 C/C++ compiler;因此,可以參考 [4] 裡面的步驟來裝,這裡選用的是 sf.net 上下載的 mingw-get-inst-20110802.exe。另外,make 可以選用 [5] 的版本。 熱身套件需要安裝的如下,只要用 easy_install 即可順利安裝:
easy_install docutils numpy configobj pygments sphinx rst2pdf pil
[4] 裡面有提到一件很重要的事,就是指定 compiler,其描述如下:
This is done by creating a file called "distutils.cfg" at C:\Python27\Lib\distutils that contains following.
[build]
compiler=mingw32
不然等一下安裝 Enthought 的套件時會看到下面的錯誤訊息!
error: Setup script exited with error: Unable to find vcvarsall.bat
[6] 則是描述 Enthought 套件無法用 MinGW 編譯的解法。 接下來就是安裝 Enthought 的基本套件:
easy_install setupdocs traits pyface traitsui etsproxy
rested 似乎沒開放出來,所以 easy_install 找不到;另外,上面的套件也比較舊。所以可以去 [7] 把他下載,同時,如果有更新狂的話,也可以下載剛剛安裝的那些 Enthought 的最新套件。 在啟動前,先看看 [8] 的中文修正,大致上如下:
--- c:\Python27\Lib\site-packages\traitsui-4.0.2-py2.7.egg\traitsui\editor.py.orig  2011-09-14 12:49:27.435509400 +0800
+++ c:\python27\Lib\site-packages\traitsui-4.0.2-py2.7.egg\traitsui\editor.py       2011-09-14 13:40:12.889608500 +0800
@@ -290,7 +290,12 @@
         if format_func is not None:
             return format_func( value )
 
-        return unicode( value )
+#        return unicode( value )
+        try:
+            _value = unicode( value.decode('utf-8') )
+        except UnicodeEncodeError:
+            _value = unicode( value )
+        return _value
 
     #---------------------------------------------------------------------------
     #  Returns the text representation of the object trait:
然後就可以去 enthought-rested-xxxx\enthought\rst 執行 "python app.py" 了。

為什麼不安裝 rested 呢? 因為會出現類似下面的告警:
Sphinx install of version >=0.4.2 could not be verified.
來源是 setupdocs.py 裡錯誤的語法,可以參考 [9] 的修正。 不過安裝後,Scripts\rsted.exe 似乎也無法正常跑?Why?
頂著先吧!




[5] GnuWin32, make

沒有留言: