如何使用setuptools放置和加载轮包的预构建本机库

时间:2019-04-15 14:27:29

标签: python setuptools setup.py

我正在尝试为Python模块创建一个依赖于本机库的wheel包。它仅适用于特定的Linux发行版,不会公开,这很好,我不想使用setuptools的Extension来构建它。

现在我有Python代码和几个.so文件,并希望将它们放入软件包中,以便我们可以使用pip安装它。

到目前为止,我已经在MANIFEST.in中指定了模块,并用setuptools.setup调用了include_package_data=True,因此安装清单文件后,清单中指定的文件位于下面树的目录(3)中。在venv环境下打包。

venv
└── lib    <----- (1)
    └── python3.6
        └── site-packages <----- (2)
            └── my_module <----- (3)

我的问题是:

  1. 有些PyPI软件包将.so文件放在(1)中。如果有可能我也想将.so文件放在此处,如何在setup.py中指定文件位置?
  2. 类似地,我的.so之一是使用SWIG生成的,它必须位于(2)中。我可以手动将其移到那里,但是我想知道setup.py中是否有办法。
  3. 对于这种情况,现在我需要在使用我的代码执行Python脚本之前手动指定LD_LIBRARY_PATH。使用setuptools有什么更好的方法吗?

0 个答案:

没有答案