Martijn Faassen wrote:
Hi there,
I recall discussion but no conclusion: what is the status of the case-conflict between the "Zope" package in Zope 2 versus the "zope" package in Zope 3?
I chose alternative 4 from: http://dev.zope.org/Zope3/RenameTheZopePackage As that seemed to be the most popular, although I personnally prefer 3.
Resolving this peacefully is becoming more urgent for me as I'd like to be able to use Five (Zope 3 on Zope 2) on Windows eventually. >
Is there some workaround?
Sure, put "zope" in a different directory.
I'd really hate to have to wait for a mythical Zope 2 release (likely not 2.8) that renamed Zope to something else, for instance.
I had planned to do this in Zope 2.8, mainly because I wanted to include zope.interface in 2.8, mainly to address the difficulty of installing the Interface shim. Your recent work makes the shim unnecessary. I'm really anxious to get 2.8 out, so I'm inclined not to include zope.interface in 2.8, and thus not deal with the zope vs Zope issue in 2.8. Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org
Jim Fulton wrote:
Martijn Faassen wrote:
I chose alternative 4 from:
http://dev.zope.org/Zope3/RenameTheZopePackage
As that seemed to be the most popular, although I personnally prefer 3.
Resolving this peacefully is becoming more urgent for me as I'd like to be able to use Five (Zope 3 on Zope 2) on Windows eventually.
Is there some workaround?
Sure, put "zope" in a different directory.
I don't understand what this means. A different directly on the python path?
I'd really hate to have to wait for a mythical Zope 2 release (likely not 2.8) that renamed Zope to something else, for instance.
I had planned to do this in Zope 2.8, mainly because I wanted to include zope.interface in 2.8, mainly to address the difficulty of installing the Interface shim. Your recent work makes the shim unnecessary. I'm really anxious to get 2.8 out, so I'm inclined not to include zope.interface in 2.8, and thus not deal with the zope vs Zope issue in 2.8.
So what does this mean for Five on Windows? Regards, Martijn
Martijn Faassen wrote:
Jim Fulton wrote:
Martijn Faassen wrote:
I chose alternative 4 from:
http://dev.zope.org/Zope3/RenameTheZopePackage
As that seemed to be the most popular, although I personnally prefer 3.
Resolving this peacefully is becoming more urgent for me as I'd like to be able to use Five (Zope 3 on Zope 2) on Windows eventually.
Is there some workaround?
Sure, put "zope" in a different directory.
I don't understand what this means. A different directly on the python path?
Yes.
I'd really hate to have to wait for a mythical Zope 2 release (likely not 2.8) that renamed Zope to something else, for instance.
I had planned to do this in Zope 2.8, mainly because I wanted to include zope.interface in 2.8, mainly to address the difficulty of installing the Interface shim. Your recent work makes the shim unnecessary. I'm really anxious to get 2.8 out, so I'm inclined not to include zope.interface in 2.8, and thus not deal with the zope vs Zope issue in 2.8.
So what does this mean for Five on Windows?
It means that you should tell people to put zope in a different directory than Zope. Both of these directories need to be on the Python path. Alternatively, we can continue as planned to include zope.interface in 2.8, in which case we'll need to implement option 4 of the above proposal. I'll note that 2.8 has some huge potential benefits: - MVCC - Cyclic GC of zope objects that make it increasingly desireable yo get it out as soon as we can. Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org
Jim Fulton wrote:
Martijn Faassen wrote:
So what does this mean for Five on Windows?
It means that you should tell people to put zope in a different directory than Zope. Both of these directories need to be on the Python path.
Hm, that's not a big deal then. I'm just at a loss how this would fix the case-insensitivity import problem on Windows; I think I'm missing something.
Alternatively, we can continue as planned to include zope.interface in 2.8, in which case we'll need to implement option 4 of the above proposal.
Why would we have to include zope.interface in Zope 2.8? Do we want to *use* it in the Zope 2.8 code? If not, then as easy to just install it (and other pieces of Zope 3) separately.
I'll note that 2.8 has some huge potential benefits:
- MVCC
- Cyclic GC of zope objects
that make it increasingly desireable yo get it out as soon as we can.
I realize Zope 2.8 has benefits, but I have quite a bit on my plate anyway. I'll help test option 4, but I can't really commit to implementing it. Regards, Martijn
Martijn Faassen wrote:
Jim Fulton wrote:
Martijn Faassen wrote:
So what does this mean for Five on Windows?
It means that you should tell people to put zope in a different directory than Zope. Both of these directories need to be on the Python path.
Hm, that's not a big deal then. I'm just at a loss how this would fix the case-insensitivity import problem on Windows; I think I'm missing something.
Yes, you are. Python has no trouble importing two packages with names differing only by case on windows. Windows won't actually let you put them in the same directory.
Alternatively, we can continue as planned to include zope.interface in 2.8, in which case we'll need to implement option 4 of the above proposal.
Why would we have to include zope.interface in Zope 2.8? Do we want to *use* it in the Zope 2.8 code? If not, then as easy to just install it (and other pieces of Zope 3) separately.
I explained that in my previous message.
I'll note that 2.8 has some huge potential benefits:
- MVCC
- Cyclic GC of zope objects
that make it increasingly desireable yo get it out as soon as we can.
I realize Zope 2.8 has benefits, but I have quite a bit on my plate anyway. I'll help test option 4, but I can't really commit to implementing it.
So I suggest we put this off until 2.9. Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org
Jim Fulton wrote:
Martijn Faassen wrote:
Hm, that's not a big deal then. I'm just at a loss how this would fix the case-insensitivity import problem on Windows; I think I'm missing something.
Yes, you are. Python has no trouble importing two packages with names differing only by case on windows. Windows won't actually let you put them in the same directory.
Aah okay. That makes life a lot easier. Okay, I'll stop worrying now, as the easiest way to set this stuff up is by including the path to the Zope 3 src directory in the zope.conf anyway. Thanks! Regards, Martijn
On Friday 04 June 2004 12:33 pm, Martijn Faassen wrote:
Hm, that's not a big deal then. I'm just at a loss how this would fix the case-insensitivity import problem on Windows; I think I'm missing something.
Modern Windows is case-preserving, and Python uses that to get the imports right. The case-senselessness problem is that the directories "zope" and "Zope" can't exist in the same directory, not that they can't be perceived by Python to be two differently-named Python packages. -Fred -- Fred L. Drake, Jr. <fred at zope.com> PythonLabs at Zope Corporation
Fred Drake wrote:
On Friday 04 June 2004 12:33 pm, Martijn Faassen wrote:
Hm, that's not a big deal then. I'm just at a loss how this would fix the case-insensitivity import problem on Windows; I think I'm missing something.
Modern Windows is case-preserving, and Python uses that to get the imports right. The case-senselessness problem is that the directories "zope" and "Zope" can't exist in the same directory, not that they can't be perceived by Python to be two differently-named Python packages.
Thanks, now I get it. That's good to hear; my worries are gone now; this isn't a show stopper for Zope 3 on Zope 2. Regards, Martijn
Martijn Faassen wrote:
Jim Fulton wrote:
Martijn Faassen wrote:
I chose alternative 4 from:
http://dev.zope.org/Zope3/RenameTheZopePackage
As that seemed to be the most popular, although I personnally prefer 3.
Resolving this peacefully is becoming more urgent for me as I'd like to be able to use Five (Zope 3 on Zope 2) on Windows eventually.
Is there some workaround?
Sure, put "zope" in a different directory.
I don't understand what this means. A different directly on the python path?
I would recommend leaving old Zope2 stuff in lib/python and putting all Z3-related stuff in a parallel directory called 'src'. That way you can run a whole Zope3 checkout in parallel to Zope2. Telling Zope2 about the extra python-path shouldn't be a problem through ZConfig (there's a directive). Philipp
Philipp von Weitershausen wrote:
Martijn Faassen wrote:
I don't understand what this means. A different directory on the python path?
I would recommend leaving old Zope2 stuff in lib/python and putting all Z3-related stuff in a parallel directory called 'src'. That way you can run a whole Zope3 checkout in parallel to Zope2. Telling Zope2 about the extra python-path shouldn't be a problem through ZConfig (there's a directive).
Yes, I'm doing something much like that and it works fine on Linux. I'm just wondering how this de-confuses Python's import system on a case-insensitive file system. Regards, Martijn
[Martijn Faassen]
Yes, I'm doing something much like that and it works fine on Linux. I'm just wondering how this de-confuses Python's import system on a case-insensitive file system.
Python imports are case-sensitive on all platforms (this wasn't always true, but is true in recent Pythons). What's impossible in a case-insensitive filesystem is having two things (files or directories) in the same directory whose names differ only in case. I'm not sure that answers your question, but since it's the only answer there is, you'll have to adjust your question to match <wink>. To get concrete, if sys.path is ['/A', '/B'], files /A/Hello.py and /B/HellO.py exist, A and B are otherwise empty, and you do import HellO then /B/HellO.py will get loaded, Windows or not, and import hello will fail, also Windows or not.
Martijn Faassen wrote:
Philipp von Weitershausen wrote:
Martijn Faassen wrote:
I don't understand what this means. A different directory on the python path?
I would recommend leaving old Zope2 stuff in lib/python and putting all Z3-related stuff in a parallel directory called 'src'. That way you can run a whole Zope3 checkout in parallel to Zope2. Telling Zope2 about the extra python-path shouldn't be a problem through ZConfig (there's a directive).
Yes, I'm doing something much like that and it works fine on Linux. I'm just wondering how this de-confuses Python's import system on a case-insensitive file system.
I don't have Windows, but from what I'm reading out of Tres's and Fred's posts, Python won't have a problem if Windows doesn't have a problem (which is the case when they're in two different directories). Philipp
participants (5)
-
Fred Drake -
Jim Fulton -
Martijn Faassen -
Philipp von Weitershausen -
Tim Peters