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

Use pipx to install pre-commit in github actions #197

Conversation

otamachan
Copy link

Recently, due to the switch of the Ubuntu distribution from jassy to noble for rolling(https://discourse.ros.org/t/preparing-ros-2-rolling-for-the-transition-to-ubuntu-24-04/35673), pip install now throws errors like the following
https://github.com/CCNYRoboticsLab/imu_tools/actions/runs/8841107418/job/24277648791

Run pip install pre-commit
WARNING: The directory '/github/home/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.12/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP [6](https://github.com/CCNYRoboticsLab/imu_tools/actions/runs/8841107418/job/24277648791?pr=196#step:4:7)68 for the detailed specification.
Error: Process completed with exit code 1.

Since the error message suggests using pipx, this PR changed to install pre-commit using pipx.
Unfortunately as the pipx installed via apt package doesn't support the --global option, we use pipx run to execute the latest pipx.

Signed-off-by: Tamaki Nishino <[email protected]>
@otamachan
Copy link
Author

#198 now works 👍
close this.

@otamachan otamachan closed this Apr 26, 2024
@mintar
Copy link
Collaborator

mintar commented Apr 26, 2024

Thanks for putting in the work in this pull request! In this specific case we can avoid the issue, so #198 made this PR redundant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants