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

INTERNAL ERROR: root must be absolute but is . #6

Open
svaningelgem opened this issue Jun 30, 2020 · 6 comments
Open

INTERNAL ERROR: root must be absolute but is . #6

svaningelgem opened this issue Jun 30, 2020 · 6 comments

Comments

@svaningelgem
Copy link
Contributor

pip install -U brunette: v 0.1.7 installed.

The following commands I all ran in the latest cloned git master of brunette:

Reformat the current directory with default settings with black:

(base) E:\brunette>black .
reformatted E:\brunette\setup.py
reformatted E:\brunette\brunette\brunette.py
All done! ✨ 🍰 ✨
2 files reformatted, 2 files left unchanged.

Same but with brunette:

(base) E:\brunette>brunette .
Using configuration from E:\brunette\setup.cfg.
.git ignored: matches the --exclude regular expression
E:\brunette\brunette\__init__.py already well formatted, good job.
E:\brunette\brunette\__main__.py already well formatted, good job.
E:\brunette\setup.py already well formatted, good job.
reformatted E:\brunette\brunette\brunette.py
All done! ✨ 🍰 ✨
1 file reformatted, 3 files left unchanged.

Now use the config file provided within git:

(base) E:\brunette>brunette --config setup.cfg .
Using configuration from setup.cfg.
Traceback (most recent call last):
  File "c:\programdata\miniconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\programdata\miniconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Miniconda3\Scripts\brunette.exe\__main__.py", line 7, in <module>
  File "c:\programdata\miniconda3\lib\site-packages\brunette\brunette.py", line 150, in main
    return BLACK_MAIN()
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\black.py", line 463, in main
    p, root, include_regex, exclude_regex, report, get_gitignore(root)
  File "c:\programdata\miniconda3\lib\site-packages\black.py", line 3559, in gen_python_files
    assert root.is_absolute(), f"INTERNAL ERROR: `root` must be absolute but is {root}"
AssertionError: INTERNAL ERROR: `root` must be absolute but is .

Ok, maybe it's the directory?

(base) E:\brunette>brunette --config setup.cfg brunette
Using configuration from setup.cfg.
Traceback (most recent call last):
  File "c:\programdata\miniconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\programdata\miniconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Miniconda3\Scripts\brunette.exe\__main__.py", line 7, in <module>
  File "c:\programdata\miniconda3\lib\site-packages\brunette\brunette.py", line 150, in main
    return BLACK_MAIN()
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\black.py", line 463, in main
    p, root, include_regex, exclude_regex, report, get_gitignore(root)
  File "c:\programdata\miniconda3\lib\site-packages\black.py", line 3559, in gen_python_files
    assert root.is_absolute(), f"INTERNAL ERROR: `root` must be absolute but is {root}"
AssertionError: INTERNAL ERROR: `root` must be absolute but is .

Ok, maybe it needs to be absolute like it says in the error?

(base) E:\brunette>brunette --config setup.cfg e:\brunette
Using configuration from setup.cfg.
Traceback (most recent call last):
  File "c:\programdata\miniconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\programdata\miniconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Miniconda3\Scripts\brunette.exe\__main__.py", line 7, in <module>
  File "c:\programdata\miniconda3\lib\site-packages\brunette\brunette.py", line 150, in main
    return BLACK_MAIN()
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\black.py", line 463, in main
    p, root, include_regex, exclude_regex, report, get_gitignore(root)
  File "c:\programdata\miniconda3\lib\site-packages\black.py", line 3559, in gen_python_files
    assert root.is_absolute(), f"INTERNAL ERROR: `root` must be absolute but is {root}"
AssertionError: INTERNAL ERROR: `root` must be absolute but is .
@richardARPANET
Copy link
Contributor

I'm unable to reproduce this. Please try specifying a full path to setup.cfg and see what it does.

@svaningelgem
Copy link
Contributor Author

With an absolute path to the cfg it works fine:

(base) PS E:\brunette> brunette --config E:\brunette\setup.cfg .
Using configuration from E:\brunette\setup.cfg.
.git ignored: matches the --exclude regular expression
E:\brunette\brunette\__init__.py wasn't modified on disk since last run.
E:\brunette\brunette\__main__.py wasn't modified on disk since last run.
E:\brunette\brunette\brunette.py wasn't modified on disk since last run.
E:\brunette\setup.py wasn't modified on disk since last run.
All done! ✨ 🍰 ✨
4 files left unchanged.

A relative path doesn't work:

(base) PS E:\brunette> brunette --config .\setup.cfg .
Using configuration from .\setup.cfg.
Traceback (most recent call last):
  File "c:\programdata\miniconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\programdata\miniconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Miniconda3\Scripts\brunette.exe\__main__.py", line 7, in <module>
  File "c:\programdata\miniconda3\lib\site-packages\brunette\brunette.py", line 150, in main
    return BLACK_MAIN()
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\programdata\miniconda3\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\programdata\miniconda3\lib\site-packages\black.py", line 463, in main
    p, root, include_regex, exclude_regex, report, get_gitignore(root)
  File "c:\programdata\miniconda3\lib\site-packages\black.py", line 3559, in gen_python_files
    assert root.is_absolute(), f"INTERNAL ERROR: `root` must be absolute but is {root}"
AssertionError: INTERNAL ERROR: `root` must be absolute but is .

@JulianVolodia
Copy link

@svaningelgem so that's M$ powershell, yup? and venv.
Could You lock env and tell which PS and miniconda3 version You use? Not yet tried to reproduce, so if I manage to reproduce this in this week then it wouldn't be necessary ;)

If not, no problem - I think I would look into it in this week as first contrib to that pretty ✨ brunette ✨ ;)

@svaningelgem
Copy link
Contributor Author

I moved to axblack which fits everything I wanted to do. I'll have a look into this though.

@svaningelgem
Copy link
Contributor Author

Reproduced again with conda & a freshly clone of brunette:

conda create python=3.6 -n brunette
conda activate brunette
brunette .
brunette --config setup.cfg .

@JulianVolodia
Copy link

@svaningelgem you dont need setup.cfg?

Have you seen problem described here:
psf/black#1664
?

I see that on brunette and want to fix, but not on black and wonder..

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

No branches or pull requests

3 participants