我有一个python包my-package
依赖于二进制binary.exe
但这个二进制文件太大,无法上传到pypi。因此,当用户执行pip install ...
时,我想执行一个bash脚本,这将从我的github wget
二进制文件并将其放在他们的site-packages/my-package
文件夹中。这可能吗?如果是这样,我该怎么做呢?
您可以遵循的一种方法是添加代码以在程序包本身中获取二进制文件,以便在导入任何时候,它首先下载二进制文件。您可以使用requests执行此操作,或者您可以使用subprocess模块运行您的wget命令,尽管请求方法更加强大。
没有办法。 pip远远落后于像deb / rpm这样的真实包名; pip-installable包相当原始,它们没有pre / post(un)安装脚本。
您必须使用PyInstaller,py2exe,py2app或cx_Freeze创建自己的安装程序。或者说deb / rpm - 有setuptools的插件来生成deb和rpm。