On Tue, Jan 28, 2014 at 8:04 PM, Evgeny Sazhin <[email protected]> wrote: > Hi, > > I saw that people from this list are responsible for Wheel related PEP. > I'm comparatively new to the python packaging and need some help > understanding the recommended way of dealing with python packages. > > I'm trying to create a development infrastructure that would allow for simple > and unified ways of sharing, *deploying* and *reusing* the code within > private entity. I can see that pip with virtual environments and > requirements.txt is very similar to dependency management provided by maven > or apache ivy. But there seems to be a disconnect between the egg carrying > the possibility to be importable and executable, but in the same time > considered to be deprecated format which is not fully supported by pip and > virtualenv and wheel not having those basic questions answered... > > So, i would like to ask few questions about it : > > 1. I'm coming from java world, so it is bit hard to understand why new > packaging format is not importable? What is the reason behind it? Wouldn't it > be way easier to deal with the dependencies and imports? > 2. Why unzipping and installing the wheel is the way to go? There is no need > to unzip java jar to import it into your code, neither to run your code with > it? Why wheel can't be used the same exact way? > > > I would appreciate any insight about the development infrastructure the wheel > designers have in mind. > > Thanks in advance, > Eugene
The main reason the packaging format is not explicitly importable is simply because Python hasn't had "jar-like" deployment for as long or as consistently as Java. So while Java code universally uses a "get resource" API to get stuff on the classpath, a a lot of Python code will try to open a file. C extensions can't be loaded from inside zip files. And it's a lot harder to edit .py files once they are zipped up, unlike Java where only the compiled and non-editable .class files are zipped. ZIP import is a great feature but wheels aren't really designed for it. It's more reliable that way. _______________________________________________ Distutils-SIG maillist - [email protected] https://mail.python.org/mailman/listinfo/distutils-sig
