我是一个扩展程序新手。我的目标是创建一个不需要安装其他库的扩展程序。这是否不可能,因为扩展程序在运行时必须链接到特定版本的libpython?
还有另一种方法,就是在运行时确定可用的Python版本,并通过LoadLibrary(Windows)或dlopen(Linux / etc)使用Python / C API动态加载Python DLL,然后根据版本在运行时决定方法签名等。非常麻烦。有一个在Delphi中执行此类操作的示例项目,可以查看PythonForDelphi:
http://www.atug.com/andypatterns/pythonDelphiTalk.htm
我不知道还有其他任何项目会这样做。
)。对于Windows,构建安装程序(
setup.py bdist_wininst`)。注意Unicode不兼容问题(请参见http://bugs.python.org/issue8654)。 - Daniel Stutzbach