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

Reply via email to