我需要一些关于如何正确设置我的项目的答案,包括 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”设置