1

我有一个用 cmake 构建的扩展 python 模块。模块需要在运行时链接到它的第三方 libutil.dll。模块和 libutil.dll 都打包到 wheel 中。

有没有一些方法可以帮助 python 通过 setup.py 配置找到模块的 libutil.dll?模块和 .dll 位于包中的同一文件夹中。

我调查了一些方法,但都被拒绝了:

  1. 在 PATH 变量或其他一些环境变量中添加 dll 的路径;
  2. 从存储 dll 的目录启动 python

setup.py 有下一个内容:

from setuptools import setup

setup(
     name ='my_ext_module',
     version = '0.0.1',
     classifiers = ["Programming Language :: Python :: 3"],
     packages = ['my_ext_module'],
     package_dir = {'my_ext_module' : 'src/module_dir'},
     package_data = {'' : ['*']},
     python_requires = ">=3.5"
)

该项目具有以下结构:

setup.py
src
|---module_dir
    |---__init__.py
    |---ext_module.pyd
    |---libutil.dll
4

0 回答 0