actions / actions/setup-python

PIP cache should cache the installed packages as well

Open
#330 34 comments 44 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request needs eyes
Dominant language
TypeScript
Stars
2.2k
Forks
739
Avg merge
6d 18h
Merged PRs (30d)
1

Description

Description:
Currently, setup-python caches only the ~/.cache/pip directory to avoid redownloads. However, it doesn't cache the installed packages. As some package have lengthy installation steps, this leads to delays in builds.

You can see the current behaviour for example in https://github.com/crabhi/setup-python-cache-test/actions/runs/1789016634 (or in attached build.txt) - the pip install output shows "Collecting" and "Installing" instead of "Requirement already satisfied" for all packages.

Justification:
For example installing the ansible package takes well over a minute even if it's already downloaded.

Are you willing to submit a PR?
Yes, I can try.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing setup-python's current ~/.cache/pip caching behavior and the pip install step in the linked reproduction workflow. Compare the cached and installed-package paths, then verify the change when a restored cache makes pip report "Requirement already satisfied" rather than reinstalling packages.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python, typescript
Domain
ci-cd
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.