创建一个python模块以从单个共享库文件分发

时间:2018-07-31 07:06:53

标签: python distutils

我有一个使用pybind11创建的共享库。

称为dddd.so

当我打开python并输入

import dddd
print(dddd.test_function())

我得到了想要的结果,这太棒了。

但是,我的目标是创建一个conda可安装软件包,以便我可以创建一个conda环境,然后键入:

conda install dddd

做那个工作。

所以我尝试创建一个setup.py文件,该文件允许我使用python setup.py bdist或python setup.py bdist_conda创建此文件

我无法使共享库进入bdist模块。

目前我的目录结构是

dddd/
    - dddd/
           -dddd.so
           -__init__.py
setup.py

我尝试了很多事情,包括Distribute a Python package with a compiled dynamic shared library  ,但我无法使其正常工作。

当我尝试将其作为setup.py时:

from distutils.core import setup
setup(
    name='dddd',
    version='0.2',
    packages=['dddd'],
    package_dir={'dddd': 'dddd'},
    package_data={'dddd': ['dddd.so']},
)

我能够使python setup.py bdist_conda正常工作。

但是,当我运行此conda模块时,现在无法直接访问我的模块,我必须这样做:

import dddd.dddd
dddd.dddd.test_function()

那不是我想要的。

我似乎无法实现链接中答案所达到的目标。

0 个答案:

没有答案