swig生成的python代码如何制作package?
2023-12-20 16:31:26
我们写了一个非常棒的python脚本,然后也想分享给其他人使用呢,怎么搞?
我们用别人写的库的时候pip install 就行了,爽的一比。
现在要让别的爽一下行不行,怎么搞呢?
书接上回我们用swig生成了python语言的代码,好用到飞起。现在要分享给其他人用怎么办?
当前目录下有这么四个文件:
openbbf.py,? 我们用swig生成的python封装代码?
openbbf_api.py? ?我们自己写的调用python接口的进一步封装
_openbbf.so? ? 我们用swig生成后编译好的.so, swig生成的默认就是这个名称
setup.py? ? ? ? ?我们用来制作package的脚本
setup.py怎么写呢?
import subprocess
from setuptools import setup
from distutils.command.install import install as _install
class install(_install):
def run(self):
#subprocess.call(['make', 'clean', '-C', 'src'])
#subprocess.call(['make', '-C', 'src'])
_install.run(self)
setup(
name='openbbf',
version='1.0.0',
author='pcl',
packages=[''],
package_data={'': ['_openbbf.so', 'openbbf_api.py']},
py_modules="openbbf.py",
cmdclass={'install': install},
)
具体setup这个函数的参数
参考:Python 打包配置文件 setup.py 详解_python 打包setup-CSDN博客
我们主要只用了 package_data, py_modules, version这几个。
然后在这个目录中执行
pip wheel .
在当前目录下生成openbbf-1.0.0-py3-none-any.whl
用pip install 即可将这个package 安装到~/.local/lib/python3.8/site-packages这个目录中。
然后用python3 运行就可以import openbbf了。
?当然还可以用下面的命令生成 .tar.gz,也是可以用pip install的。
python3 setup.py sdist
当然,如果你直接把当前目录复制给别人,让他运行下面的命令自行安装也是可以的。
pip install .
文章来源:https://blog.csdn.net/v6543210/article/details/135100840
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!