下載包PyGF 0.3在Ubuntu後,我在python運行命令以下http://www.grammaticalframework.org/libpgf/pygf/tutorial.htmlfrom ctypes import dlsysm ....錯誤提示:無法導入名稱dlsysm,請幫忙嗎?
[email protected]:~/PyGF-0.3$ python3
Python 3.3.1 (default, Apr 17 2013, 22:32:14)
[GCC 4.7.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pgf.pygf import *
>>> import_pgf('Food.pgf')
>>> parse('this wine is very expensive',lang='en_US')
pgf_new_parser (pgf/parser.c:908): precondition failed
concr != NULL
Aborted (core dumped)
這個假設你有在工作目錄Food.pgf語法文件。該語法涵蓋了「這種酒非常昂貴」的句子。現在這裏:http://www.grammaticalframework.org/doc/gf-quickstart.html
,該.pgf文件可以從具有Food.gf,FoodEng.gf,FoodIta.gf在一個工作目錄下編寫,並且使用命令:
gf -make FoodIta.gf FoodEng.gf
此假設你有二進制版本GF安裝(安裝非常短)。 這將在上面的代碼中編寫要在Python中使用的Food.pgf文件。
錯誤來自哪裏?正如在教程中清楚地表示的那樣,它將工作並解析句子。雖然教程是與Phrasebook.pgf
文法,但假設它可以與各種.pgf語法一起使用。我也嘗試過使用Phrasebook(很大,同樣的錯誤在那裏)。食物很少,但很好嘗試。
eryksun,我已經成功地從您提到的代碼上方安裝libpgf。然而,當你說PyGF-0.3 $ python3.3 setup.py build時,下一步的問題就出現了,因爲我的默認Python在Linux中是2.7版本。雖然我安裝了python 3.3.2,但默認路徑是:/opt/python3.3/bin/python3,以便在終端中輸入python 3.3版本。所以考慮到這一點,我嘗試這樣做:PyGF-0.3 $ /opt/python3.3/bin/python3 setup.py build,但它也不起作用。 – xavi
'/opt/python3.3/bin/python3 setup.py build'後跟'sudo /opt/python3.3/bin/python3 setup.py install'應該可以。如果你在sudo PATH上添加一個符號鏈接(看看'sudo bash -c'echo $ PATH''),它會使它更容易。例如,要添加一個到'/ usr/local/bin'的鏈接,使用'sudo ln -s /opt/python3.3/bin/python3/usr/local/bin/python3.3'。 – eryksun
eryksun,我在爲pyGF做這個設置時遇到了問題,因爲「NO module setuptools found」,因爲我安裝了分發,但是當安裝分發問題時出現「NO module zlib found」,並且在安裝zlib時出現以下問題HTTP://計算器。com/questions/17901775/error-when-processing-deb-zlib-package-in-uduntu我想你已經安裝過,任何建議,將不勝感激! – xavi