How are you using Python?

Will Stuyvesant hwlgw at hotmail.com
Fri Aug 2 13:02:18 EDT 2002


I have been using Python for a couple of years now,
professionally and for educational projects.  Here I would
like to post some of my findings and tips in using Python.
Maybe people have the same experiences or know how to
avoid some of the problems I had?


The default Python distribution for Windows
-------------------------------------------
One of the great things of Python for Windows users is
that you can download the `python-x.y.z.exe' and it just
works!  No %CLASSPATH% [java] or other confusing things.
The only thing it does not do is adding the directory with
the Python binaries to your %PATH% but that is easy to do
yourself.   Compliments for the people who made this
possible! 
One easy thing to improve?  On comp.lang.python there are
still often questions about import failures etc.  I do not
understand why the docs do not put this more clearly:
"If you want to be able to import a module you wrote
yourself from another directory, put that module in
C:\Python22\Lib\site-packages" (or whatever, change that
name! Come up with another directory, maybe like
C:\Python22\extra).
After that point to the Distutils article by Greg Ward in
the standard docs, but that is a long read.



mingw32
-------
At

http://www.zope.org/Members/als/tips/win32_mingw_modules

there are tips how you can use the free mingw32 compiler
to build your own modules on a Windows platform.  Here I
would like to cheer for the people who are working on
things like this.  May we someday be freed of the
expensive and not-open-source MSVC compiler!  Someday we
will be able to download something like a `pythongcc.exe'
that comes with a free C compiler and installs
-everything- you need so you can speed up the bottlenecks
in your code with C!  As it is now I found out it is very
difficult to install everything you need yourself, but it
looks like it is getting better as time goes by.  There
are more and more people managing to compile Python on
Windows with a free C compiler and letting others know
how.  I find it is still very difficult though, especially
if you want a complete install, with Tkinter etc. like in
the default python-x.y.z.exe distribution.  In the end I
want to come up with a python-x.y.z.mingw32.exe or
something like that.


Cygwin
------
Cygwin provides an alternative: they do a great job
providing a unix-like console box for Windows and gcc and
many unix utilities and also a python you can build from
sources!

<rant>

However, I do not use Cygwin anymore, and this is because
of the installation process for Cygwin.  On www.cygwin.org
you can find a 'setup.exe' that will try to download many
things from servers that are down or extremely slow and it
is hard to find out what you need if you just want Python
and gcc and vi and latex and xfig and ghostview for
example.  Forget a utility (like make ? :-) and you will
have to use setup.exe again and it is buggy when you want
to add things.  The only way I was able to install Cygwin
with python from sources was to check every checkbox
button in that setup.exe dialog window and that will take
you all day downloading things if you have telephone
access to internet.  But in the end it -did- work and I
was able to build my own extension modules for Python.
Now I have a new computer and I just do not want to go
through that installation process ever again <:-|

</rant>


Windows XP 
---------- 
The new Windows XP comes with an improved console box that
is actually usable (resizable, filename completion,
command history, huge window scrollback you can set) so
now you can have a productive way of working from a
console box like I used to do with linux, with an editor
of choice like gvim (
ftp://ftp.vim.org/pub/vim/pc/gvim61.exe ).  On the bad
side of Windows XP is the stability, I had several crashes
already, having to cut the computer power to get out, even
their CTRL-ALT-DEL did not work anymore.  This is
something you are not used to when you come from linux.


<rant>
linux
-----
So why not just use linux?  Well I would be happy with it.
Except that here in Europe it is almost impossible to buy
a notebook you like with linux installed.  Installing
linux, with latex and xfig and python and gcc and vim and
all those other things I was used to, is still taking too
much time.  The installation process has improved over the
years but configuring everything like you want it is still
tedious.  Things like .bashrc and python.vim and latex.vim
files I lost and had to write again.  How did I increase
the console buffer again?  Etc.  But the main problem is
with the fonts, at least I -think- it has to do with
fonts.  With Windows the documents I read from the
computer screen are just looking better.  Especially when
reading documents with a browser.  I tried everything I
could think of configuring linux and tried Netscape,
Mozilla, Konqueror etc. with all sorts of fonts, but had
to give up in the end.  I find them just not usable when
you have to read documents for several hours a day.  That
is a shame because I would much much prefer an open-source
OS and I think the microsoft software is getting way too
expensive.
Somebody else here has no problems at all with the linux
fonts so I thought maybe it is just me?  But I found many
people who feel the same, it would be interesting to see a
poll or something.  
I am afraid linux will die slowly because of neglect of
providing things like professional fonts and games, being
used in the end only for a few servers until they are all
replaced too.
</rant>


mingw32 again
-------------
Alas a project like `python-x.y.z.mingw32.exe' is not
something I think I can do myself but at least I am going
to try to compile Python on Windows again now that the new
mingw32 1.01 is out, and try to help others.  Mingw32 is
at www.mingw.org.


my setup
--------
So how do I use Python now?  I have a notebook with
Windows XP and gvim installed and I use the console box
with a buffer of 1200 lines so I can see as much debugging
print statements as I want.  Also I often use the IDLE
shortcut on the desktop for quick tests.  IDLE comes with
an editor that has tips about function parameters and
great syntax coloring and indenting.  Wish it could
understand vi and ex commands!
This is the first setup ever I am happy with.
At some places I have to use python 1.5.2 and linux or
Solaris but then I just try to avoid to have to do a lot
of programming or reading.  That leaves only doing some
latex and xfig and editing with vi :-)
I am so sick of losing so much time with installation and
configuration problems that I only use Python modules that
come with the default distribution.  If a module is
available in the default distribution you can be assured
it is high quality.  This makes it impossible to do fast
graphics etc. but there is still enough that you can do.


the future
----------
I believe in the future Python will have fast graphics
modules and things like SciPy.  However, this could take a
while.  I feel it could be possible to speed up the
process considerably.  I think there are a lot of people
who could help but they just do not have or want to work
with the MSVC compiler or they do not have or want linux,
for several reasons including my own.  


Happy pythoneering!



More information about the Python-list mailing list