Failure when enumerating modules.
Brought to you by:
edloper
[...............Traceback (most recent call last):
File "/.../venv/bin/epydoc", line 13, in <module>
cli()
File "/.../venv/local/lib/python2.7/site-packages/epydoc/cli.py", line 965, in cli
main(options, names)
File "/.../venv/local/lib/python2.7/site-packages/epydoc/cli.py", line 757, in main
exclude_parse=exclude_parse)
File "/.../venv/local/lib/python2.7/site-packages/epydoc/docbuilder.py", line 206, in build_doc_index
doc_pairs = _get_docs_from_items(items, options)
File "/.../venv/local/lib/python2.7/site-packages/epydoc/docbuilder.py", line 398, in _get_docs_from_items
item, doc_pairs[-1], options, progress_estimator)
File "/.../venv/local/lib/python2.7/site-packages/epydoc/docbuilder.py", line 566, in _get_docs_from_submodules
package_dir = os.path.split(pkg_docs[0].filename)[0]
File "/.../venv/lib/python2.7/posixpath.py", line 92, in split
i = p.rfind('/') + 1
AttributeError: _Sentinel instance has no attribute 'rfind'
The code consists of a few wheels installed via pip in a virtualenv. They have a single top-level namespace package. I'm not sure but I think this is impacting things.
I dropped some print statements in docbuilder.py and filename attribute seems to be a _Sentinel instance, specifically UNKNOWN. Not sure if this is related to the virtualenv / namespace package or not.
Also, this doesn't occur if I use --parse-only. However, when I do that, I don't get any output for those modules, as if they're not discovered at all.
Unfortunately this is a private project. I'll see if I can make a reproducer.
Oh, I may have miscategorized this. I'm getting this with 3.0.1.