Python将DLL复制到Windows上的站点包

Jas*_*ram 6 python windows dll

我正在编写需要与第三方DLL链接的python扩展模块。如何使用distutils(即在我的setup.py文件中)将此DLL复制到site-packages目录?

Lup*_*uch 8

将您的 DLL 放在您的package_data参数中setup()(有关详细信息,请参阅distutils 文档的安装包数据部分)。

如果您需要将 DLL 放在包目录之外,则可以使用该data_files选项。例如把它放在site-packages目录中:

import distutils.sysconfig

setup(
    # [...]
    data_files = [(distutils.sysconfig.get_python_lib(), ["/path/to/the/DLL"])],
)
Run Code Online (Sandbox Code Playgroud)

  • 另一个方便的知识:将目录设置为空字符串以将文件安装在包文件夹中,例如`''`而不是`(distutils.sysconfig.get_python_lib()` (2认同)