Hi, When I run that on a fresh checkout of my project (no build/ dir): python setup.py install -O1 --skip-build --root tmp/ I get a nice tmp/usr/lib/python2.4/site-packages/mypackage.egg/ directory (zip_safe set to False in setup()). Then when I run : python setup.py build It creates a build/ directory as expected. Now if I run the first command again, the packages internal to the egg are installed directly in tmp/usr/lib/python2.4/site-packages/ ... Is this a bug or a feature? I reproduce it with 0.6c2 (on Fedora Core 6) and 0.6c3 (on Ubuntu Edgy) versions of setuptools. Philippe
At 06:05 PM 11/21/2006 +0100, Philippe Normand wrote:
Hi,
When I run that on a fresh checkout of my project (no build/ dir):
python setup.py install -O1 --skip-build --root tmp/
I get a nice tmp/usr/lib/python2.4/site-packages/mypackage.egg/ directory (zip_safe set to False in setup()).
This appears to be a bug. You should not be getting a .egg/ directory here, only a .egg-info/.
Then when I run :
python setup.py build
It creates a build/ directory as expected. Now if I run the first command again, the packages internal to the egg are installed directly in tmp/usr/lib/python2.4/site-packages/ ...
This is the correct behavior when using install --root; the use of --root forces setuptools into a backward-compatible mode to work with system packaging tools such as RPM.
Is this a bug or a feature? I reproduce it with 0.6c2 (on Fedora Core 6) and 0.6c3 (on Ubuntu Edgy) versions of setuptools.
If there's a bug, it would be in the behavior you described for "--skip-build", although I haven't investigated it yet. Could you check and make sure you weren't just seeing an .egg-info directory, rather than an .egg? Thanks.
Phillip J. Eby said:
At 06:05 PM 11/21/2006 +0100, Philippe Normand wrote:
Hi,
When I run that on a fresh checkout of my project (no build/ dir):
python setup.py install -O1 --skip-build --root tmp/
I get a nice tmp/usr/lib/python2.4/site-packages/mypackage.egg/ directory (zip_safe set to False in setup()).
This appears to be a bug. You should not be getting a .egg/ directory here, only a .egg-info/.
I confirms it's an egg directory, tested again on my home laptop.
Then when I run :
python setup.py build
It creates a build/ directory as expected. Now if I run the first command again, the packages internal to the egg are installed directly in tmp/usr/lib/python2.4/site-packages/ ...
This is the correct behavior when using install --root; the use of --root forces setuptools into a backward-compatible mode to work with system packaging tools such as RPM.
Ah, ok. So I guess I now need to rename my "internal" package as the risk of name clash is too high in this case. I though that by keeping everything in the .egg I would be safe from potential collision. But I was wrong :( Couldn't RPMs (or debs) ship directly the .egg/ directory?
Is this a bug or a feature? I reproduce it with 0.6c2 (on Fedora Core 6) and 0.6c3 (on Ubuntu Edgy) versions of setuptools.
If there's a bug, it would be in the behavior you described for "--skip-build", although I haven't investigated it yet. Could you check and make sure you weren't just seeing an .egg-info directory, rather than an .egg? Thanks.
Well as stated above I double checked on another machine running 0.6c3 on Edgy. BTW sorry for double mail, thought the first one wasn't delivered so used another smtp ;) Philippe
At 08:52 PM 11/21/2006 +0100, Philippe Normand wrote:
Ah, ok. So I guess I now need to rename my "internal" package as the risk of name clash is too high in this case. I though that by keeping everything in the .egg I would be safe from potential collision.
No. Packages are packages. If you install two "foo" modules, they will collide even if they're *inside* of eggs, because Python still only has one internal namespace. Egg separation is primarily to support easy uninstallation, upgrades, and having multiple installed versions (used by different programs).
But I was wrong :( Couldn't RPMs (or debs) ship directly the .egg/ directory?
In principle, yes. In practice, the concept met with extreme resistance in certain quarters, because it requires .pth files to ship with the .egg as well.
Is this a bug or a feature? I reproduce it with 0.6c2 (on Fedora Core 6) and 0.6c3 (on Ubuntu Edgy) versions of setuptools.
If there's a bug, it would be in the behavior you described for "--skip-build", although I haven't investigated it yet. Could you check and make sure you weren't just seeing an .egg-info directory, rather than an .egg? Thanks.
Well as stated above I double checked on another machine running 0.6c3 on Edgy.
Weird. I am not able to reproduce it with 0.6c4dev-r52438 on Linux (Python 2.3, 2.4, or 2.5), nor with 0.7a1 on Windows (Python 2.4) or Cygwin (Python 2.3). In fact, I just plain can't reproduce it. You'll need to give me some more information here.
Phillip J. Eby said:
Weird. I am not able to reproduce it with 0.6c4dev-r52438 on Linux (Python 2.3, 2.4, or 2.5), nor with 0.7a1 on Windows (Python 2.4) or Cygwin (Python 2.3). In fact, I just plain can't reproduce it. You'll need to give me some more information here.
Oh well, my bad, I was definately all wrong here ;-) It was an egg-info/ ... Next time I'll check more and open my eyes wider before screaming. Philippe
Phillip J. Eby said:
Weird. I am not able to reproduce it with 0.6c4dev-r52438 on Linux (Python 2.3, 2.4, or 2.5), nor with 0.7a1 on Windows (Python 2.4) or Cygwin (Python 2.3). In fact, I just plain can't reproduce it. You'll need to give me some more information here.
Oh well, my bad, I was definately all wrong here ;-) It was an egg-info/ ... Next time I'll check more and open my eyes wider before screaming. Philippe
participants (2)
-
Philippe Normand -
Phillip J. Eby