You've already forked setup-python
							
							
				mirror of
				https://github.com/actions/setup-python.git
				synced 2025-11-04 16:56:40 +07:00 
			
		
		
		
	Update README.md
This commit is contained in:
		
							
								
								
									
										49
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								README.md
									
									
									
									
									
								
							@ -28,7 +28,7 @@ Matrix Testing:
 | 
			
		||||
```yaml
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
    runs-on: ubuntu-16.04
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        python-version: [ '2.x', '3.x', 'pypy2', 'pypy3' ]
 | 
			
		||||
@ -42,6 +42,53 @@ jobs:
 | 
			
		||||
          architecture: x64
 | 
			
		||||
      - run: python my_script.py
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Exclude a specific Python version:
 | 
			
		||||
```yaml
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [ubuntu-latest, macos-latest, windows-latest]
 | 
			
		||||
        python-version: [2.7, 3.6, 3.7, 3.8, pypy2, pypy3]
 | 
			
		||||
        exclude:
 | 
			
		||||
          - os: macos-latest
 | 
			
		||||
            python-version: 3.8
 | 
			
		||||
          - os: windows-latest
 | 
			
		||||
            python-version: 3.6
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v1
 | 
			
		||||
      - name: Set up Python
 | 
			
		||||
        uses: actions/setup-python@v1
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: ${{ matrix.python-version }}
 | 
			
		||||
      - name: Display Python version
 | 
			
		||||
        run: python -c "import sys; print(sys.version)"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
# Getting started with Python + Actions
 | 
			
		||||
 | 
			
		||||
Check out our detailed guide on using [Python with GitHub Actions](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/using-python-with-github-actions).
 | 
			
		||||
 | 
			
		||||
# Hosted Tool Cache
 | 
			
		||||
 | 
			
		||||
GitHub hosted runners have a tools cache that comes with Python + PyPy already installed. This tools cache helps speed up runs and tool setup by not requiring any new downloads. There is an environment variable called `RUNNER_TOOL_CACHE` on each runner that describes the location of this tools cache and there is where you will find Python and PyPy installed. `setup-python` works by taking a specific version of Python or PyPy in this tools cache and adding it to PATH.
 | 
			
		||||
 | 
			
		||||
|| Location |
 | 
			
		||||
|------|-------|
 | 
			
		||||
|**Tool Cache Directory** |`RUNNER_TOOL_CACHE`|
 | 
			
		||||
|**Python Tool Cache**|`RUNNER_TOOL_CACHE/Python/*`|
 | 
			
		||||
|**PyPy Tool Cache**|`RUNNER_TOOL_CACHE/PyPy/*`|
 | 
			
		||||
 | 
			
		||||
GitHub virtual environments are setup in [actions/virtual-environments](https://github.com/actions/virtual-environments). During the setup, the available versions of Python and PyPy are automatically downloaded, setup and documented.
 | 
			
		||||
- [Tools cache setup for Ubuntu](https://github.com/actions/virtual-environments/blob/master/images/linux/scripts/installers/1804/hosted-tool-cache.sh)
 | 
			
		||||
- [Tools cache setup for Windows](https://github.com/actions/virtual-environments/blob/master/images/win/scripts/Installers/Download-ToolCache.ps1)
 | 
			
		||||
 | 
			
		||||
# Using Python without `setup-python`
 | 
			
		||||
 | 
			
		||||
`setup-python` helps keep your dependencies explicit and ensures consistent behavior between different runners. If you use `python` in a shell on a GitHub hosted runner without `setup-python` it will default to whatever is in PATH. The default version of Python in PATH vary between runners and can change unexpectedly so we recommend you always use `setup-python`.
 | 
			
		||||
 | 
			
		||||
# Available versions of Python
 | 
			
		||||
 | 
			
		||||
For detailed information regarding the available versions of Python that are installed see [Software installed on GitHub-hosted runners](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/software-installed-on-github-hosted-runners)
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user