在 Python 中提供 saxon-c

Making saxon-c available in Python

我刚刚读到 Saxon 现在可用于 Python,这非常有趣而且很好,但是任何人都可以编写有关如何使其可用于 Python/Anaconda/WingIDE 或类似内容的教程吗?我习惯用pip或者conda安装,指向一个package/wheel集成到我的环境中,但是我从来没有从头开始过,感觉我在这里做的,还是我遗漏了什么?

doc 指出:

The Python extension on the Linux and MacOS platforms can be built using the following command:python3 saxon-setup.py build_ext -if

好吧,我在 windows 机器上那又怎样?我已尝试阅读有关此主题的内容,但 recepies 和“.h”文件似乎超出了我的理解范围。

我只是真的想让它在 Python 上运行,但现在,我在 Python 中受困于 xslt 和 xpath 1.0,并且不得不努力通过 Java 对于 xslt 2+。

如有任何帮助,我们将不胜感激!

我将在 Whosebug 上写另一个问题,但重点是当我安装了 64 位版本的 Anaconda 时如何使用 Cython 进行构建。这似乎是我最初的问题。

我已经在几台 Windows 10 台机器上为 Python 构建了 saxonc,我已经在这些机器上安装了 Visual Studio 2017 或 2019 Python 3 支持和C/C++支持。

大致的步骤,针对当前版本的SaxonC HE:

  • 从 Saxonica 安装 SaxonC HE 11.3
  • 对于 Python:更新 pip
  • 使用pip安装Cython:pip install Cython
  • 打开 Powershell 例如Python 3.9(如果安装在 C:\Program Files 中,则具有管理员权限)
  • cd Saxon 安装目录(例如 cd C:\Program Files\Saxonica\SaxonC HE 11.3
  • cd Saxon.C.API\python-saxon
  • 运行 py saxon-setup.py build_ext -if
  • 对于任意 Powershell Windows 需要将 SAXONC_HOME 设置为安装目录,例如$env:SAXONC_HOME='C:\Program Files\Saxonica\SaxonC HE 11.3'PYTHONPATH$Env:PYTHONPATH += ";C:\Program Files\Saxonica\SaxonC HE 11.3\Saxon.C.API\python-saxon" 以确保任何 Python 程序中的“import saxonc”都能找到 saxonc 模块

对于 Saxon-C HE 1.2.1,它们是:

  • 从 Saxonica 安装 Saxon-C HE 1.2.1
  • 对于 Python:更新 pip
  • 使用pip安装Cython:pip install Cython
  • 打开 Python 3.7 的 Powershell(如果安装在 C:\Program Files 中,则具有管理员权限)
  • cd Saxon 安装目录(例如 cd C:\Program Files\Saxonica\SaxonHEC1.2.1
  • cd Saxon.C.API\python-saxon
  • 运行 py saxon-setup.py build_ext -if
  • 对于任意 Powershell Windows 需要设置:$Env:PYTHONPATH += ";C:\Program Files\Saxonica\SaxonHEC1.2.1\Saxon.C.API\python-saxon" 以确保任何 Python 程序中的“import saxonc”都能找到 saxonc 模块