"Martin v. Löwis", 15.11.2011 01:33: >>> Currently, for Cython? I don't think that can work. >> >> Hmm, it might work to put an empty module next to the 'real' extension >> and to import it to figure out the common directory of both. As long as >> it's still there after installation and the right one gets imported, >> that is. A relative import should help on versions that support it. >> Although that won't help in the __init__ case because a relative import >> will likely depend on __path__ being available first. Chicken and egg... > > If there was an actual __init__.py that just had > > import __cinit__ or rather from .__cinit__ import * (relative import only for CPythons that support it) > then __cinit__ could copy __path__ from the already-loaded __init__, no? Hmm, right - that should work. __init__ would be in sys.modules with a properly set __file__ and __path__, and __cinit__ (knowing its own package name anyway) could look it up there to find out its file system path. I don't think there's much code out there that actually uses __file__ to find out the name of the module rather than just its package directory. So it would (more or less) fix both problems for __init__ files, and it should work with Py2.4+. >>> Certainly. An approach similar to _Py_PackageContext should be possible. >> >> Yes, and a "_Py_ModuleImportContext" would be rather trivial to do. >> Could that go into 3.3? > > If somebody contributes a patch: sure. Ok, cool. >> What about 2.7? > > Certainly not. It would be a new feature, and there can't be new > features in 2.7. > >> Could an exception be made there regarding new "features"? >> It's not likely to break anything, but it would help Cython. > > "Not likely to break anything" really means it practice > "it probably will break somebody's code". Policies are > there to be followed, and this one I personally feel strongly > about. If it means that users can get certain Cython features > only with Python 3.x, the better. Understandable. Stefan
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4