Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Confusing message when the wheel package is not installed #8178

Closed
mcclurem opened this issue Apr 30, 2020 · 8 comments · Fixed by #8180
Closed

Confusing message when the wheel package is not installed #8178

mcclurem opened this issue Apr 30, 2020 · 8 comments · Fixed by #8180
Labels
C: build logic Stuff related to metadata generation / wheel generation
Milestone

Comments

@mcclurem
Copy link

Environment

  • pip version: 20.1
  • Python version: 3.6
  • OS: CentOS 6.9

Description
I happen to have a script that myself and my coworkers I run frequently to create a virtualenv, update to the latest version of pip, then install a pinned requirements.txt as part of my daily workflow. Suddenly when I ran it today I got a whole lot of:
Could not build wheels for <pkgname>, since package 'wheel' is not installed.
I got this message even though all my requirements were actually up to date so it shouldn't have even been trying to build wheels.

The wording of this is extremely jarring and especially since theres no coloration of the output or a prefix saying "INFO" or something, the first assumption that myself and my coworkers made was that our package installation wasn't happening correctly.

This pull request should be reverted or at the very least the language changed a lot because it will cause a lot of panic. I would argue that it should only launch a single log line at the top that says something like "Info: the package wheel isn't installed, so we won't try building any wheels" instead of printing one line for each package

@sbidoul
Copy link
Member

sbidoul commented May 1, 2020

Linking #7768

@sbidoul
Copy link
Member

sbidoul commented May 1, 2020

Example output when reinstalling packaging from a local directory in a venv without the wheel package:

$ pip install ./packaging                                                                                                                                                    Processing ./packaging
Requirement already satisfied: pyparsing>=2.0.2 in /tmp/venv/lib/python3.7/site-packages (from packaging==20.1) (2.4.7)
Requirement already satisfied: six in /tmp/venv/lib/python3.7/site-packages (from packaging==20.1) (1.14.0)
Could not build wheels for packaging, since package 'wheel' is not installed.
Could not build wheels for pyparsing, since package 'wheel' is not installed.
Could not build wheels for six, since package 'wheel' is not installed.
Installing collected packages: packaging
  Attempting uninstall: packaging
    Found existing installation: packaging 20.1
    Uninstalling packaging-20.1:
      Successfully uninstalled packaging-20.1
    Running setup.py install for packaging ... done
Successfully installed packaging-20.1

@sbidoul sbidoul changed the title #7768 was a pretty big regression Confusing message when the wheel package is not installed May 1, 2020
@sbidoul
Copy link
Member

sbidoul commented May 1, 2020

Improved output with #8180 :

$ pip install ./packaging
Processing ./packaging
Requirement already satisfied: pyparsing>=2.0.2 in /tmp/venv/lib/python3.7/site-packages (from packaging==20.1) (2.4.7)
Requirement already satisfied: six in /tmp/venv/lib/python3.7/site-packages (from packaging==20.1) (1.14.0)
Using legacy setup.py install for packaging, since package 'wheel' is not installed.
Installing collected packages: packaging
  Attempting uninstall: packaging
    Found existing installation: packaging 20.1
    Uninstalling packaging-20.1:
      Successfully uninstalled packaging-20.1
    Running setup.py install for packaging ... done
Successfully installed packaging-20.1

@sbidoul
Copy link
Member

sbidoul commented May 1, 2020

@mcclurem Thanks for reporting. Could you test #8180?

@sbidoul sbidoul added the C: build logic Stuff related to metadata generation / wheel generation label May 1, 2020
@mcclurem
Copy link
Author

mcclurem commented May 1, 2020

I'd be happy to test it, is there an easy trick for testing/installing pip from a git hash or do I need to check it out and then do a "python setup.py install"?

@xavfernandez
Copy link
Member

pip install https://github.com/sbidoul/pip/archive/wheel-absent-warning-sbi.zip should work.

@mcclurem
Copy link
Author

mcclurem commented May 1, 2020

Looks good!

@sbidoul sbidoul added this to the 20.1.1 milestone May 13, 2020
bors bot referenced this issue in duckinator/emanate May 19, 2020
126: Update pip to 20.1.1 r=duckinator a=pyup-bot


This PR updates [pip](https://pypi.org/project/pip) from **20.1** to **20.1.1**.



<details>
  <summary>Changelog</summary>
  
  
   ### 20.1.1
   ```
   ===================

Deprecations and Removals
-------------------------

- Revert building of local directories in place, restoring the pre-20.1
  behaviour of copying to a temporary directory. (`7555 &lt;https://github.com/pypa/pip/issues/7555&gt;`_)
- Drop parallelization from ``pip list --outdated``. (`8167 &lt;https://github.com/pypa/pip/issues/8167&gt;`_)

Bug Fixes
---------

- Fix metadata permission issues when umask has the executable bit set. (`8164 &lt;https://github.com/pypa/pip/issues/8164&gt;`_)
- Avoid unnecessary message about the wheel package not being installed
  when a wheel would not have been built. Additionally, clarify the message. (`8178 &lt;https://github.com/pypa/pip/issues/8178&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pip
  - Changelog: https://pyup.io/changelogs/pip/
  - Homepage: https://pip.pypa.io/
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
@rahitashpaul

This comment has been minimized.

@pypa pypa locked as resolved and limited conversation to collaborators Aug 30, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C: build logic Stuff related to metadata generation / wheel generation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants