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