由轮构建的私有 Python 包得到错误 .whl 不是此平台上支持的轮

时间:2021-07-12 04:28:01

标签: python python-wheel

我写了一个C嵌入式python包,并使用以下代码构建了一个wheel文件:

  python3 setup.py bdist_wheel

在我的 dist 文件夹中,我发现: mypackage-1.0-cp38-cp38-macosx_10_14_6_x86_64.whl

操作系统版本:10.15.7

64 位 Python 版本:3.8

pip3 版本:21.1.3

我的第一个问题是我的 macosx 的版本是 10.15.7,但是为什么轮子将 .whl 文件构建为版本 10.14.6

然后我尝试使用以下安装包:

python3 -m pip  install dist/*

我收到的错误是 ERROR:mypackage-1.0-cp38-cp38-macosx_10_14_6_x86_64.whl 在此平台上不受支持。

然后我将 .whl 文件更改为“mypackage-1.0-cp38-cp38-macosx_10_15_7_x86_64.whl”并得到相同的错误。

有人遇到什么问题了吗? 下面是我的 setup.py

#!/usr/bin/env python
from setuptools import setup, Extension
import numpy as np

c_mycode = Extension(
    'c_mycode',
    sources=['c_mycode/pymycode.c',
             'c_mycode/mycode.c' ],
    include_dirs=['c_mycode', np.get_include()],
    define_macros=[('NPY_NO_DEPRECATED_API', 'NPY_1_4_API_VERSION')])

setup(
    name='mypackage',
    version='1.0',
    description=(
      "a package in Python."
    ),
    setup_requires=["wheel"],
    author='xxx',
    author_email='xxx@xxx',
    license="BSD compatable (see the LICENSE file)",
    packages=['mycode'],
    ext_modules=[c_mycode]
)

1 个答案:

答案 0 :(得分:0)

可能有更好的方法,但我借用了

的想法解决了这个问题

here

我添加了一行使用

来指定平台的版本
options={'bdist_wheel':{'plat_name':'macosx_10_15_x86_64'}}