setuptools.setup无法找到dylib库文件,但它们在那里

时间:2015-06-11 22:41:55

标签: python macos setuptools setup.py dylib

当我运行setup.py文件时,我收到以下表格的几个警告: warning: no files found matching 'myfile.dylib

In [1]: ls -la /path/to/myfile.dylib
-rwxr-xr-x   1 kilojoules  admin     55680 Jun 11 13:34 /path/to/myfile.dylib

我正在使用setuptools.extension.Extension函数运行带有扩展的setup函数,指定include dirs和library dirs作为列表,我已经确认包含文件setup.py可以'找到。

In [2]: include_dirs
Out[2]: 
['some/path/somewhere'
 '/usr/local/path/to',
 'other/paths']

In [3]: library_dirs
Out[3]: 
['some/path/somewhere'
 '/path/to',
 'other/paths']

我不确定这个过程失败的原因,以及为什么python无法找到包含库。是因为这些是.dylib个文件吗?我是关于OSX的,如果有相关信息的话。什么可能导致这个神秘的错误?

My_ext = Extension(name='My_ext',
                     sources=sources,
                     include_dirs=include_dirs,
                     define_macros=define_macros,
                     extra_compile_args=CXX_FLAGS,
                     extra_link_args=LD_FLAGS,
                     library_dirs=library_dirs,
                     libraries=libraries,
                     language='c++')
setup(name='My_ext',
      version=my_version_number,
      description='a dummy extension',
      py_modules=['module1', 'module2']
      ext_modules=[My_ext],
      zip_safe=False,
      data_files=data_files)

1 个答案:

答案 0 :(得分:1)

通常include_dirs是代码调用的标头包含位置,而library_dirs是动态链接库.dylib

之外的链接库的位置

尝试将library_dirs更改为myfile.dylib的填充。