1

我需要一些关于如何正确设置我的项目的答案,包括 setup.py,以使其包含它所依赖的 dll,但 wheel 似乎并没有从我的配置中正确获取它们,我不是能够找到一个很好的例子/文档,说明如何以正确的方式做到这一点。

我有一个具有以下结构的项目:

myproj/
      __init__.py   <--this only does an import of proj.pyd
      lib/
         proj.pyd   <--the pyd is compiled, so it depends on the python version
         dep1.dll
         dep2.dll
         dep3.dll
setup.py

在 setup.py 我有

from setuptools import setup

# this is the package data (non - python files)
_package_data = ['lib/*.*']

setup(
    name='myproj',
    version='1.0.0',
    packages=['myproj'],
    url='an url',
    license='some license',
    author='author',
    description='description',
    package_data={'myproj':  _package_data},
    platforms='win',
    python_requires='~=3.8',
)

上面的配置实际上构建了myproj,我可以使用它,但是轮子名称不反映平台也不反映python版本(myproj-1.0.0-py3-none-any.whl),大概是因为它的唯一代码发现(在init .py 中)是纯 python。我可以手动更改名称,但这样做感觉不对。

我肯定做错了什么,例如,也许在不同的过程中构建 pyd,但我找不到关于如何以正确方式完成所有这些的良好参考。

至少,我想了解为什么python setup.py bdist_wheel忽略我的“python_requires”和“platforms”设置

4

0 回答 0