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

问题描述 投票:1回答:2

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

python bash dependencies wget pypi
2个回答
1
投票

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


1
投票

没有办法。 pip远远落后于像deb / rpm这样的真实包名; pip-installable包相当原始,它们没有pre / post(un)安装脚本。

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

© www.soinside.com 2019 - 2024. All rights reserved.