Message205384
| Author |
brett.cannon |
| Recipients |
Arfrever, Claudiu.Popa, berker.peksag, brett.cannon, eric.snow, larry, ncoghlan, pconnell, python-dev, vstinner |
| Date |
2013年12月06日.16:23:53 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1386347033.83.0.20639483566.issue18864@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
I just realized that there is no way to make ModuleSpec.has_location return True if the spec is created by simply instantiating ModuleSpec. As it stands now you **must** go through importlib.util.spec_from_file_location(), which makes it not a helper but a **required** API to use. I think this is the only thing that cannot be stated directly through ModuleSpec instantiation or public attribute assignment.
This means either (a) the docs on ModuleSpec need to be **very** clear that you must use spec_from_file_location() to make spec.has_location be true, (b) add another keyword-only argument to ModuleSpec.__init__(), or (c) make has_location settable (e.g. be able to only set it to True/False or alternatively assigning it sets both has_location to True and origin to the assigned value). |
|