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

pip wheel doesn't copy existing PyPI wheels into wheelhouse #1355

Closed
lvh opened this issue Dec 1, 2013 · 1 comment
Closed

pip wheel doesn't copy existing PyPI wheels into wheelhouse #1355

lvh opened this issue Dec 1, 2013 · 1 comment
Labels
auto-locked Outdated issues that have been locked by automation

Comments

@lvh
Copy link

lvh commented Dec 1, 2013

This may be intentional, but I ran into this issue. What I'd like to achieve is essentially the cookbook's "fast local installs", except with wheels (so they're even faster). So:

  • pip install doesn't hit PyPI (--no-index)
  • all packages are installed using wheels (--use-wheel + --find-links for install)
  • downloads are cached where possible

So my pip.conf is:

[global]
use-wheel = True
download-cache = ~/.pip/cache

[install]
no-index = True
find-links = /tmp/wheelhouse

[wheel]
wheel-dir = /tmp/wheelhouse

So, my procedure is usually:

pip wheel -rrequirements.txt

... which proceeds to build a bunch of wheels. Then, when I run tox, my installs are super fast, because it only uses wheels and doesn't even try to connect to PyPI.

This works great for when there are no wheels on PyPI for my platform. Then, I tried to install pudb, which provides a wheel for the most recent release. pip obviously skips building the wheel, which I'm convinced is great (since there's already one):

❯ pip wheel pudb
Downloading/unpacking pudb
  Using download cache from /Users/lvh/.pip/cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2F2.7%2Fp%2Fpudb%2Fpudb-2013.5.1-py2.py3-none-any.whl
Downloading/unpacking urwid>=1.1.1 (from pudb)
  Using download cache from /Users/lvh/.pip/cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fu%2Furwid%2Furwid-1.1.1.tar.gz
  Running setup.py egg_info for package urwid

Downloading/unpacking pygments>=1.0 (from pudb)
  Real name of requirement pygments is Pygments
  Using download cache from /Users/lvh/.pip/cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPygments%2FPygments-1.6.tar.gz
  Running setup.py egg_info for package pygments

Building wheels for collected packages: pudb, urwid, pygments
  Skipping building wheel: https://pypi.python.org/packages/2.7/p/pudb/pudb-2013.5.1-py2.py3-none-any.whl#md5=8608d78bd3ea2de2cae3b22584b97467
  Running setup.py bdist_wheel for urwid
  Destination directory: /private/tmp/wheelhouse
  Running setup.py bdist_wheel for pygments
  Destination directory: /private/tmp/wheelhouse
Successfully built urwid pygments
Cleaning up...

(important line: Skipping building wheel: https://pypi.python.org/packages/...)

... but that means it also doesn't copy it into the wheelhouse. That means that installing it fails, because I just told it to find links from the wheelhouse:

py27 runtests: commands[0] | pip install -r /Users/lvh/Code/Crypto101/arthur/requirements.txt -r /Users/lvh/Code/Crypto101/arthur/requirements-testing.txt
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking urwid (from -r /Users/lvh/Code/Crypto101/arthur/requirements.txt (line 1))
Downloading/unpacking Twisted (from -r /Users/lvh/Code/Crypto101/arthur/requirements-testing.txt (line 1))
Downloading/unpacking coverage (from -r /Users/lvh/Code/Crypto101/arthur/requirements-testing.txt (line 2))
Downloading/unpacking pudb (from -r /Users/lvh/Code/Crypto101/arthur/requirements-testing.txt (line 3))
  Could not find any downloads that satisfy the requirement pudb (from -r /Users/lvh/Code/Crypto101/arthur/requirements-testing.txt (line 3))
Cleaning up...
No distributions at all found for pudb (from -r /Users/lvh/Code/Crypto101/arthur/requirements-testing.txt (line 3))
Storing complete log in /Users/lvh/.pip/pip.log

A possible solution would be to have downloaded wheels be cached somewhere and add that directory as a find-links option. I can't use the download cache: even though it does contain the wheel, it's unusable because of the URL prefix.

@glasserc
Copy link

glasserc commented Dec 5, 2013

Duplicate of #1310.

@qwcode qwcode closed this as completed Dec 5, 2013
@lock lock bot added the auto-locked Outdated issues that have been locked by automation label Jun 5, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Jun 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation
Projects
None yet
Development

No branches or pull requests

3 participants