Pip caching should include Python version in cache key

Description:
Caching with cache: 'pip' will not include the Python version in the cache key, which leads to a cache that only speeds up the Python version that happened to create the original cache.

Action version:
v2

Platform:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

Tools version:
N/A

Repro steps:
I'm fixing the pip caching for the coqui-ai/TTS repo to speed-up the initial setup. We use matrix strategies to test across Python 3.6, 3.7, 3.8 and 3.9. I replaced an older broken actions/cache@v1 setup with the new caching functionality here, and saw a significant speed-up for Python 3.9 tasks, because it was a Py 3.9 job that happened to finish first and write the cache:

Before: https://github.com/coqui-ai/TTS/runs/4559378226?check_suite_focus=true
After: https://github.com/coqui-ai/TTS/runs/4559480121?check_suite_focus=true

On a different job running on Python 3.7, changing to the caching funcionality in setup-python actually slowed things down:

Before: https://github.com/coqui-ai/TTS/runs/4559377735?check_suite_focus=true
After: https://github.com/coqui-ai/TTS/runs/4559592755?check_suite_focus=true

This is because we spend extra time downloading the cache, but then can't use it.

Expected behavior:
The pip cache should be keyed by Python version.

Actual behavior:
The pip cache is shared between Python versions, leading to cached wheels not being used in subsequent runs with different Python versions.