Folks:

Here's an experiment you can perform. Round up a Python programmer and ask him the following three questions:

Q1.  You type "import foo" and it works.  What kind of thing is foo?

Q2. You go to the Python package index and download something named "bar-1.0.0.tar.gz". What kind of thing is bar?

Q3.  What is a "distribution"?

I'm willing to bet that you will get the following answers:

A1.  foo is a module.

A2.  bar is a package.

A3. A distribution is a version of Linux that comes with a lot of Free Software.


Unfortunately these answers aren't quite right. A "package" is actually a directory containing an __init__.py file, and a distribution is actually what you think of when you say "package" -- a reusable package of Python code that you can, for example, get from the Python package index.

Educational efforts such as the Python tutorial and the distutils docs have not succeeded in training Python programmers to understand the terminology for these things as used by the Python implementors, so perhaps instead the implementors should start using the terminology understood by the programmers:

1. A "module" shall henceforth be the name for either a foo.py file (a single-file module), or a directory with an __init__.py in it (a directory module).

2. A "package" shall henceforth be the name of the thing that is currently called a "distribution".


Regards,

Zooko

who doesn't mind stirring up trouble on occasion...

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to