如何使用 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 安装?或者是否需要同时使用 setuptools
和 pip
的两步过程?
更新: 确认,这已经登陆 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/
有没有办法,使用 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 安装?或者是否需要同时使用 setuptools
和 pip
的两步过程?
更新: 确认,这已经登陆 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/