2

I am using ubuntu 22.04 and the python version is 3.10.4. I have installed a Django project with the cookie-cutter. and now I have got an error when I want to commit my changes.

here is the error:

(blog) ➜  blog git:(main) ✗ pre-commit run
[INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: AssertionError: BUG: expected environment for python to be healthy() immediately after install, please open an issue describing your environment
Check the log at /home/mahdi/.cache/pre-commit/pre-commit.log

Content of pre-commit.log:

### version information

```
pre-commit version: 2.18.1
git --version: git version 2.34.1
sys.version:
    3.10.4 (main, Apr  2 2022, 09:04:19) [GCC 11.2.0]
sys.executable: /home/mahdi/.local/share/virtualenvs/blog-qatotdDy/bin/python
os.name: posix
sys.platform: linux
```

### error information

```
An unexpected error has occurred: AssertionError: BUG: expected environment for python to be healthy() immediately after install, please open an issue describing your environment
```

```
Traceback (most recent call last):
  File "/home/mahdi/.local/share/virtualenvs/blog-qatotdDy/lib/python3.10/site-packages/pre_commit/error_handler.py", line 73, in error_handler
    yield
  File "/home/mahdi/.local/share/virtualenvs/blog-qatotdDy/lib/python3.10/site-packages/pre_commit/main.py", line 371, in main
    return run(args.config, store, args)
  File "/home/mahdi/.local/share/virtualenvs/blog-qatotdDy/lib/python3.10/site-packages/pre_commit/commands/run.py", line 414, in run
    install_hook_envs(to_install, store)
  File "/home/mahdi/.local/share/virtualenvs/blog-qatotdDy/lib/python3.10/site-packages/pre_commit/repository.py", line 221, in install_hook_envs
    _hook_install(hook)
  File "/home/mahdi/.local/share/virtualenvs/blog-qatotdDy/lib/python3.10/site-packages/pre_commit/repository.py", line 83, in _hook_install
    raise AssertionError(
AssertionError: BUG: expected environment for python to be healthy() immediately after install, please open an issue describing your environment
```

I have search on google, but couldn't find any solution.

David D
  • 41
  • 5
Mahdi Jafari
  • 347
  • 6
  • 22
  • 1
    This isn't a Git issue and maybe isn't appropriate on StackOverflow. Instead, you should probably bring it up on [the pre-commit.com GItHub issues page](https://github.com/pre-commit/pre-commit/issues/) as an issue there. (Meanwhile I updated your tags to the one tag that *is* correct here.) – torek May 08 '22 at 10:50
  • 1
    The instructions from the error message are pretty straight forward: "BUG: expected environment for python to be healthy() immediately after install, _please open an issue describing your environment_" – knittl May 08 '22 at 10:57
  • I will open an issue on github. – Mahdi Jafari May 08 '22 at 10:58

3 Answers3

3

This is a known issue with python 3.10 on Ubuntu 22.04, you can use the python 3.10 from deadsnakes as directed here

Side note, I also see that you opened a new ticket rather than searching the issue tracker within pre-commit, this issue was specifically called out in a number of tickets by searching "healthy()". It would be preferable in the future to put some better search terms in place prior to logging an issue in GitHub to reduce the noise for open source maintainers.

David D
  • 41
  • 5
  • 1
    I strongly dislike the solution of using deadsnakes, and the general attitude of the pre-commit "community". This has been an issue for me for the last several hours, and windows its broken for a different reason, and no I am not going to install deadsnakes on 22.04 – Matteius Oct 16 '22 at 05:02
3

I had the same problem but on Mac

An unexpected error has occurred: AssertionError: BUG: expected environment for python to be healthy immediately after install, please open an issue describing your environment

more info:

virtualenv python version did not match created version:
- actual version: <<error retrieving version from /Users/federico/.cache/pre-commit/repo9xb3zg69/py_env-python3.11/bin/python>>
- expected version: 3.11.2.final.0

Check the log at /Users/federico/.cache/pre-commit/pre-commit.log

Following this thread I did

virtualenv --reset-app-data venv

And that resolved my problem

Fede Mika
  • 2,211
  • 2
  • 19
  • 18
1

I solved it with the following (you can add it to your .bashrc):

export SETUPTOOLS_USE_DISTUTILS=stdlib

thanks to this SO answer.

raphodn
  • 196
  • 1
  • 6