Fix editable install finder handling of nested packages#4020
Merged
Conversation
Contributor
Author
|
Docs likely to be breaking due to readthedocs/sphinx-notfound-page#219. |
Contributor
Author
|
There are still some errors with Sphinx. E.g. now it raises exceptions due to cyclic imports in setuptools code - which probably need further investigation: CI logsWARNING: autodoc: failed to import class 'Extension' from module 'setuptools'; the following exception was raised:
Traceback (most recent call last):
File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 64, in import_module
return importlib.import_module(modname)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 6[88](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:89), in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/runner/work/setuptools/setuptools/setuptools/__init__.py", line 17, in <module>
from setuptools.dist import Distribution
File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/_virtualenv.py", line [90](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:91), in exec_module
old(module)
File "/home/runner/work/setuptools/setuptools/setuptools/dist.py", line 37, in <module>
from setuptools.config import setupcfg, pyprojecttoml
File "/home/runner/work/setuptools/setuptools/setuptools/config/__init__.py", line 8, in <module>
from . import setupcfg
File "/home/runner/work/setuptools/setuptools/setuptools/config/setupcfg.py", line 38, in <module>
from . import expand
File "/home/runner/work/setuptools/setuptools/setuptools/config/expand.py", line 53, in <module>
from setuptools.dist import Distribution # noqa
ImportError: cannot import name 'Distribution' from partially initialized module 'setuptools.dist' (most likely due to a circular import) (/home/runner/work/setuptools/setuptools/setuptools/dist.py)
The above exception was the direct cause of the following exception:
reading sources... [ [92](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:93)%] userguide/index
reading sources... [ [94](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:95)%] userguide/miscellaneous
reading sources... [ [96](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:97)%] userguide/package_discovery
reading sources... [ [98](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:99)%] userguide/pyproject_config
reading sources... [[100](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:101)%] userguide/quickstart
Traceback (most recent call last):
File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 88, in import_object
module = import_module(modname, warningiserror=warningiserror)
File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 68, in import_module
raise ImportError(exc, traceback.format_exc()) from exc
looking for now-outdated files... none found
ImportError: (ImportError("cannot import name 'Distribution' from partially initialized module 'setuptools.dist' (most likely due to a circular import) (/home/runner/work/setuptools/setuptools/setuptools/dist.py)"), 'Traceback (most recent call last):\n File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 64, in import_module\n return importlib.import_module(modname)\n File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n File "<frozen importlib._bootstrap>", line 1050, in _gcd_import\n File "<frozen importlib._bootstrap>", line [102](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:103)7, in _find_and_load\n File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked\n File "<frozen importlib._bootstrap>", line 688, in _load_unlocked\n File "<frozen importlib._bootstrap_external>", line 883, in exec_module\n File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed\n File "/home/runner/work/setuptools/setuptools/setuptools/__init__.py", line 17, in <module>\n from setuptools.dist import Distribution\n File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/_virtualenv.py", line 90, in exec_module\n old(module)\n File "/home/runner/work/setuptools/setuptools/setuptools/dist.py", line 37, in <module>\n from setuptools.config import setupcfg, pyprojecttoml\n File "/home/runner/work/setuptools/setuptools/setuptools/config/__init__.py", line 8, in <module>\n from . import setupcfg\n File "/home/runner/work/setuptools/setuptools/setuptools/config/setupcfg.py", line 38, in <module>\n from . import expand\n File "/home/runner/work/setuptools/setuptools/setuptools/config/expand.py", line 53, in <module>\n from setuptools.dist import Distribution # noqa\nImportError: cannot import name \'Distribution\' from partially initialized module \'setuptools.dist\' (most likely due to a circular import) (/home/runner/work/setuptools/setuptools/setuptools/dist.py)\n')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 64, in import_module
return importlib.import_module(modname)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line [105](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:106)0, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/runner/work/setuptools/setuptools/setuptools/__init__.py", line 35, in <module>
__version__ = setuptools.version.__version__
AttributeError: partially initialized module 'setuptools' has no attribute 'version' (most likely due to a circular import)
WARNING: autodoc: failed to import class 'Command' from module 'setuptools'; the following exception was raised:
Traceback (most recent call last):
File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 64, in import_module
return importlib.import_module(modname)
File "/usr/lib/python3.10/importlib/__init__.py", line [126](https://github.com/pypa/setuptools/actions/runs/5900146250/job/16003850907?pr=4020#step:5:127), in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/runner/work/setuptools/setuptools/setuptools/__init__.py", line 35, in <module>
__version__ = setuptools.version.__version__
AttributeError: partially initialized module 'setuptools' has no attribute 'version' (most likely due to a circular import)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 88, in import_object
module = import_module(modname, warningiserror=warningiserror)
File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 68, in import_module
raise ImportError(exc, traceback.format_exc()) from exc
ImportError: (AttributeError("partially initialized module 'setuptools' has no attribute 'version' (most likely due to a circular import)"), 'Traceback (most recent call last):\n File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 64, in import_module\n return importlib.import_module(modname)\n File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n File "<frozen importlib._bootstrap>", line 1050, in _gcd_import\n File "<frozen importlib._bootstrap>", line 1027, in _find_and_load\n File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked\n File "<frozen importlib._bootstrap>", line 688, in _load_unlocked\n File "<frozen importlib._bootstrap_external>", line 883, in exec_module\n File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed\n File "/home/runner/work/setuptools/setuptools/setuptools/__init__.py", line 35, in <module>\n __version__ = setuptools.version.__version__\nAttributeError: partially initialized module \'setuptools\' has no attribute \'version\' (most likely due to a circular import)\n')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/work/setuptools/setuptools/.tox/docs/lib/python3.10/site-packages/sphinx/ext/autodoc/importer.py", line 64, in import_module
return importlib.import_module(modname)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home/runner/work/setuptools/setuptools/setuptools/__init__.py", line 35, in <module>
__version__ = setuptools.version.__version__
AttributeError: partially initialized module 'setuptools' has no attribute 'version' (most likely due to a circular import)
/home/runner/work/setuptools/setuptools/docs/userguide/ext_modules.rst:5: WARNING: py:class reference target not found: setuptools.ExtensionThis is likely to be caused by sphinx-doc/sphinx#11608. I think I will go ahead and pin |
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of changes
importlib.machineryto find other levels of nested packages to find the correct files based on the parent path.Closes #4019
Pull Request Checklist
newsfragments/.(See documentation for details)