如何使用 setup.py 安装 wheel-style 包

How to install a wheel-style package using setup.py

有没有办法,使用 setup.py,将 python 包安装为 wheel/pip-style 包(即 dist-info),而不是 setup.py 默认情况下(即 egg-info)?

例如,如果我有一个带有 setup.py 脚本的 python 包,并且我 运行 以下命令,它会将包安装为 egg。

> python setup.py install

但是,我可以先构建一个轮子,然后使用 pip 安装那个轮子作为 wheel/dist-info 类型安装

> python setup.py bdist_wheel
> pip install ./dist/package-0.1-py2-none-any.whl

有没有办法直接从 setup.py 安装包作为 wheel/dist-info 安装?或者是否需要同时使用 setuptoolspip 的两步过程?

更新: 确认,这已经登陆 pip。如果您在从目录进行 pip 安装时仍然看到 .egg-info 安装,那么只需升级您的 pip 安装。 请注意 --editable 安装仍将使用 egg-info。


原回答如下:

此功能即将推出。这是 issue #4611. Follow the trail and you will find PR 4764 到 pip,大约一周前合并到 master 中。与此同时,您可以

pip wheel . 
pip install ./mypackage.whl

对我来说,建议的解决方案仍然不起作用(即使使用 pip 21.0.1),并且由于版本控制(package-name-XX.YY),我也不知道 .whl 文件。您可以告诉 pip 查看目录并从那里获取 .whl

python setup.py bdist_wheel
pip install package-name --find-links dist/