【问题标题】:Python copy a DLL to site-packages on WindowsPython 将 DLL 复制到 Windows 上的站点包
【发布时间】:2010-05-12 20:13:53
【问题描述】:

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

【问题讨论】:

    标签: python windows dll


    【解决方案1】:

    将您的 DLL 放入您的 setup()package_data 参数中(有关详细信息,请参阅 distutils 文档的 Installing Package Data 部分)。

    如果您需要将 DLL 放在包目录之外,您可以使用data_files 选项。比如放到site-packages目录下:

    import distutils.sysconfig
    
    setup(
        # [...]
        data_files = [(distutils.sysconfig.get_python_lib(), ["/path/to/the/DLL"])],
    )
    

    【讨论】:

    • 谢谢。我希望将 DLL 复制到站点包的根级别,而不是复制到特定于包的子目录中。有没有办法使用 package_data 做到这一点?
    • data_files 选项可让您将文件放在您喜欢的任何位置,请参阅我链接的文档的第 2.7 节。
    • 另一个方便的知识:将目录设置为空字符串以将文件安装在包文件夹中,例如'' 而不是 (distutils.sysconfig.get_python_lib()
    • 如何提供.dll的相对路径?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    相关资源
    最近更新 更多