Michael Whapples wrote:
OK, I didn't realise the .py files are included in a binary distribution, I understood it to be that the .pyc file was enough and so had followed through that the .py file wouldn't be included in a binary distribution like it is typically done in java (java tends not to include the .java source files in a binary .jar file, only the .class files). I did warn you that I may be making some assumptions/hold views due to my java programming. This leads to some more general questions about python and distributing modules (eg. why do we need binary distributions (bdist_egg, bdist, etc) when a source distribution should be fine and do all needed, why does python distribute source and compiled files in a binary distribution (what does the source files add in such a case), etc).

Anyway back to the actual topic. My main question of the possible solution is, why can't we have a way of specifying extra directories to run 2to3 on? Tests are an example (well at least the way I view tests) of when this could be useful, it may be useful in other cases (not thought of an example).

Michael Whapples
On 12/10/09 18:16, Lennart Regebro wrote:
2009/10/12 Michael Whapples<mwhapp...@aim.com>:
In that case I would ask them to download the source distribution and run the tests there, they probably will want the source distribution as I may need to ask them to apply a patch and test it out (they have the environment
I didn't foresee/have).
Well, that's one step extra, but fine.

I question how unit tests in a binary package are like a sort of
documentation as the user will not be able to see the test source code as it
will all be in .pyc files.
A binary distribution will include the .py files as well. "Binary" is
different from "source" in that extensions are already compiled. You
don't need to make binary distributions for anything else than
Windows, and then only if you have C-extensions. Modules without
c-extensions are best distributed as a source distribution.

The problem is that these files doesn't end up in the binary
distribution and hence 2to3 can't be run on them.
Bad wording on my part, I said compile when I meant convert, so point two should be "As distribute will include test/test*.py, why can't distribute run 2to3 on these files and so convert my tests and so then be able to run tests from the test command". This probably would need distribute to create a separate directory (eg. test_3k) and then run tests from the new location
to achieve this.
No, that wasn't bad wording on your part, I understood perfectly, I
think. The problem is that these files doesn't end up in the binary
distribution and hence 2to3 isn't run on them as the 2to3 conversion
is done in build_py.


Binary distribution is a packaging type such as an rpm or a deb file usually for a particular distro. Not about whether source or various compilation products are or are not included in these binary packages. You can write an install that requires no build and and no source and just moves precompiled files into position.

Regards,
Gerry

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

Reply via email to