是否可以执行bash脚本以在`pip install my-package`上下载非python依赖项

时间:2019-03-04 08:26:32

标签: python bash dependencies wget pypi

我有一个依赖于二进制文件my-package的python软件包binary.exe,但是此二进制文件太大,无法上传到pypi。因此,我想在用户执行pip install ...时执行bash脚本,它将从我的github wget二进制文件并将其放置在他们的site-packages/my-package文件夹中。这可能吗?如果是这样,我将如何去做?

2 个答案:

答案 0 :(得分:1)

您可以遵循的一种方法是添加代码以在程序包本身中获取二进制文件,以便在导入时每次都先下载二进制文件。您可以使用requests来执行此操作,或者可以使用subprocess模块来运行wget命令,尽管请求方法更可靠。

答案 1 :(得分:1)

没有办法。 pip远远落后于真正的软件包名称,如deb / rpm;可pip安装的软件包是相当原始的软件包,它们没有安装前/安装后的脚本。

您必须使用PyInstaller,py2exe,py2app或cx_Freeze创建自己的安装程序。或者说deb / rpm-有一些用于setuptools的插件可以生成debs和rpm。