2011-02-10 9 views
2

私はUbuntu 10.10の新規インストールを完了しました。xmlとxpathを使用するスクリプトをいくつか実行しようとしています。 PyXMLの内部からエラーが発生します。PyXML on Ubuntu

これはインストールエラーだと思います。これは、インストールされ得るために、私は次のようでした:

prompt> sudo apt-get install python2.6-dev # The next line wouldn't install without this. 
prompt> sudo easy_install PyXML 

------- ERROR --------- ユーザ名@のUbuntuのBEGIN:〜/データ/コード$ MyScript.py

Traceback (most recent call last): 
    File "/home/username/data/code/app/trunk/MyScript.py", line 17, in <module> 
    from xml import xpath 
    File "/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/__init__.py", line 112, in <module> 
    from pyxpath import ExprParserFactory 
    File "/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/pyxpath.py", line 59, in <module> 
    from xml.xpath.ParsedAbbreviatedRelativeLocationPath import ParsedAbbreviatedRelativeLocationPath 
    File "/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/ParsedAbbreviatedRelativeLocationPath.py", line 31 
    as = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self') 
    ^
SyntaxError: invalid syntax 

------------- ENDエラー-------------------私は私の限界で約だ

PyXMLを使用します。私はxmlファイルを読み込み、xpathでデータを読み書きしたいだけです。簡単に使える簡単なライブラリはありますか?またはこれを修正する方法に関する任意のアイデア?

+0

'sudo apt-get install python-lxml' http://codespeak.net/lxml/xpathxslt.html – jfs

答えて

1

PyXMLは非常に古いバージョンのPython(< 2.4)用に書かれていて、後のキーワードの1つをその変数として使用しました。あなたの要件が単純な場合は、XPath式をサポートするPython標準ライブラリのElementTreeを使用することができます。例はhereです。標準ライブラリモジュールを使用するための

、ん:

from xml.etree.ElementTree import ElementTree 
2

念のため、あなたが本当にちょうど変更、PyXML(あなたが今ポートまでの時間を持っていない、すなわちレガシーコード)を必要とする場合asは2箇所で他の変数名に使用されます。

また、Gentooが明示的に呼び出す必要のあるPyXMLにuse_pyxml()というメソッドを追加したことに気付きました。標準ライブラリXMLモジュールは使用されません。興味のある場合はhereを参照してください。