All packages with CLI failing with '/home/runner/.local/bin' which is not on PATH
See original GitHub issueDescribe the bug
Packages entrypoints/CLI are not available in PATH e.g. flake8
, poetry
, pytest
.
When investigating Github Action logs I can see two noticeable warnings that explains the issue:
Defaulting to user installation because normal site-packages is not writeable
WARNING: The script flake8 is installed in '/home/runner/.local/bin' which is not on PATH.
As I have another repo using this same action, and it is working just fine, I wonder if something happened recently to cause this - Virtualenv manipulation, PATH manipulation, etc.
Which version of the action are you using?
Tried both - same issue
-
v1
-
v2
- Some other tag (such as
v2.0.1
ormaster
)
Environment
- self-hosted
- Linux (ubuntu latest)
- Windows
- Mac
If applicable, please specify if youβre using a container
Python Versions
Please list all of the effected versions of Python (3.8.2
, etc.)
3.6, 3.7, 3.8
To Reproduce
Create a new Github action using the following steps:
steps:
- uses: actions/checkout@v1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install --upgrade pip poetry
poetry install
It will fail when it attempts to run poetry
command. Same happens with any other package.
Run/Repo Url If applicable, and if your repo/run is public, please include a URL so it is easier for us to investigate.
https://github.com/aws-samples/cookiecutter-aws-sam-pipeline/pull/10/checks?check_run_id=730151630
Screenshots If applicable, add screenshots to help explain your problem.
Additional context
PATH content - Captured via tmate
session
echo $PATH
/opt/hostedtoolcache/Python/3.6.10/x64/bin:/opt/hostedtoolcache/Python/3.6.10/x64:/usr/share/rust/.cargo/bin:/home/runner/.config/composer/vendor/bin:/home/runner/.dotnet/tools:/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/home/runner/.dotnet/tools
Debug logs
Defaulting to user installation because normal site-packages is not writeable
Requirement already up-to-date: pip in /opt/hostedtoolcache/Python/3.6.10/x64/lib/python3.6/site-packages (20.1.1)
runner@fv-az78:~/work/cookiecutter-aws-sam-pipeline/cookiecutter-aws-sam-pipeline$ pip install flake8
Defaulting to user installation because normal site-packages is not writeable
Collecting flake8
Downloading flake8-3.8.2-py2.py3-none-any.whl (72 kB)
|ββββββββββββββββββββββββββββββββ| 72 kB 1.7 MB/s
Collecting mccabe<0.7.0,>=0.6.0
Downloading mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
Requirement already satisfied: importlib-metadata; python_version < "3.8" in /home/runner/.local/lib/python3.6/site-packages (from flake8) (1.1.3)
Collecting pycodestyle<2.7.0,>=2.6.0a1
Downloading pycodestyle-2.6.0-py2.py3-none-any.whl (41 kB)
|ββββββββββββββββββββββββββββββββ| 41 kB 796 kB/s
Collecting pyflakes<2.3.0,>=2.2.0
Downloading pyflakes-2.2.0-py2.py3-none-any.whl (66 kB)
|ββββββββββββββββββββββββββββββββ| 66 kB 9.7 MB/s
Requirement already satisfied: zipp>=0.5 in /home/runner/.local/lib/python3.6/site-packages (from importlib-metadata; python_version < "3.8"->flake8) (3.1.0)
Installing collected packages: mccabe, pycodestyle, pyflakes, flake8
WARNING: The script pycodestyle is installed in '/home/runner/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script pyflakes is installed in '/home/runner/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script flake8 is installed in '/home/runner/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Add any other context about the problem here.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:6
- Comments:9 (2 by maintainers)
Top GitHub Comments
Same here.
/home/runner/.local/bin
is not added to$PATH
. This dir is not present on Fedora 33 either, but this doesnβt really make sense for a build system.Iβm reproducing a very similar issue. I have the same Python action running in two repos, and it succeeds in one while failing in another.
In this case Iβm trying to run
flake8
, but get the same βcommand not foundβ issue withblack
andpytest
:In the repo where this doesnβt work, it gives the warning:
In the repo where it does work, there is no warning.
Interestingly, I can reproduce this both in the github runner, and also locally using the
act
local Docker runner on mac. This implies that thereβs something about the structure of the two repos which is causing different behaviors. Will try to narrow it down to a reproducible scenario.