微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为特定于版本的系统打包 pypi“.whl”文件?

如何解决如何为特定于版本的系统打包 pypi“.whl”文件?

我想将一些开源代码上传到 pypi,其中包含用 cython 编写的二进制内容。这意味着如果我想省去用户自己编译源代码,我需要针对不同的系统版本和python版本发布不同的二进制库。

正如我测试的那样,pypi 可以接受相同版本(比如 0.1.0)的 ".whl" 文件,只要它们具有不同的文件名。但是,无论我在什么系统上,我打包出来的文件名都是一样的,例如mypackage-0.1.0-py3-none-any.whl,我希望它们显示mypackage-0.1.0-py39-py39-win_amd64.whl

我该怎么办?谢谢!

====

编辑:

我的构建系统是来自官方文档的一个非常简单的副本,这里是所有内容

from setuptools import setup,find_packages

setup(
    name="hash-c",version='0.0.1',author="REDMOND",description='Some description',long_description='Some description',long_description_content_type="text/markdown",packages = find_packages(),package_data={
        'hash_c': ['libc.cp38_amd64.pyd',],},install_requires = [],classifiers=[
        'Programming Language :: Python :: 3','Programming Language :: Python :: 3.6','Programming Language :: Python :: 3.7','Programming Language :: Python :: 3.8','Programming Language :: Python :: 3.9','Programming Language :: Python :: 3 :: Only','License :: OSI Approved :: MIT License','Operating System :: POSIX :: Linux','Operating System :: Microsoft :: Windows',python_requires='>=3.6',keywords=["hash-c"]
)

我在文件夹树中放置了一个编译 dll 文件

.
├── hash_c
│   ├── __init__.py
│   └── lib.cp38_amd64.pyd
└── setup.py

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。