我有一个项目,它构建了一个C库_a
,其中包含在a.py
中使用的python绑定。在构建过程中,_a
链接到libdepend
,这也是使用我的构建系统构建的。你知道吗
我有一个setup.py
文件,它使用distutils构建Extension
并使用setup
:
from distutils.core import setup, Extension
# Set up extension
extension = Extension('_a',
['a.c'],
# Where the built library is
library_dirs=[library_build_dir],
libraries=['libdepend']
)
# Set up python module
setup(name='a',
ext_modules=[extension],
py_modules=['a']
)
当我运行python setup.py install
时,_a
被复制到我的site-packages
文件夹中,但我似乎无法获得要复制的libdepend
。如果我尝试导入a
,我会得到
import a
# >>> ImportError: libdepend.so: cannot open shared object file: No such file or directory
有没有办法用distutils将libdepend
复制到我的site-packages
文件夹?我想这样做,因为我的构建系统也在构建libdepend
。我知道我可以在全局范围内安装libdepend
,但是我希望能够将它安装到用户的virtualenv站点包中。你知道吗
在我的具体例子中,我使用CMake作为构建系统,a.c
实际上是SWIG生成的绑定。我正在尝试找到一个解决方案,它至少可以在Linux和osx/macos上工作,但最好也能在Windows上工作。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐