pla*_*pus 12 python pip setuptools python-wheel pyproject.toml
这是项目目录结构
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 meow.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n\n0 directories, 2 files\nRun Code Online (Sandbox Code Playgroud)\n这是meow.py:
def main():\n print("meow world")\nRun Code Online (Sandbox Code Playgroud)\n这是pyproject.toml:
[build-system]\nrequires = ["setuptools"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\nname = "meowpkg"\nversion = "0.1"\ndescription = "a package that meows"\n\n[project.scripts]\nmeow_world = "meow:main"\nRun Code Online (Sandbox Code Playgroud)\n构建此包时,无论是使用python3 -m pip wheel .还是使用python3 -m build,都会创建一个名为 like 的文件meowpkg-0.1-py3-none-any.whl,该文件无法安装在 Python 2 上。
$ python2.7 -m pip install meowpkg-0.1-py3-none-any.whl\nERROR: meowpkg-0.1-py3-none-any.whl is not a supported wheel on this platform.\nRun Code Online (Sandbox Code Playgroud)\n但“meowpkg”实际上也适用于 Python 2。如何指示 setuptools 和/或 Wheel 创建一个标记为 的万能轮meowpkg-0.1-py2.py3-none-any.whl,而不使用旧的setup.cfg/setup.py方式?
目前的解决方法:
\necho "[bdist_wheel]\\nuniversal=1" > setup.cfg && python3 -m build && rm setup.cfg\nRun Code Online (Sandbox Code Playgroud)\n
pla*_*pus 14
将此部分添加到pyproject.toml:
[tool.distutils.bdist_wheel]
universal = true
Run Code Online (Sandbox Code Playgroud)