From: Arthur <ajs...@op...> - 2003-02-16 23:56:13
|
> On the specific issue of distutils: It is probably correct that distutils is > exactly the right mechanism for all Linux/Unix-like environments, including > the new Mac OSX 10.2 X11 environment. But it seems a poor mechanism for > nonexpert users on Windows, who typically don't have a compiler available > (needed for source distribution) and are not comfortable working in a > command prompt window. You're under a misconception here. Distutils makes a fine self executing installation file for Windows. I have already prepared one for VPython as a matter of fact - but it is VPython standalone, i.e including VPython demo and docs, but not including Numeric or V_Idle. I personally see no need to integrate the Numeric distribution with VPython. Its own installation - including a Windows self installing executable - is quite expert, and I don't see it as a big deal to simply ask people who do not already have Numeric to download it seperately. Unless I am missing something. In a way, this kind of thing is to me part of the issue. Its a form of not playing nice with other Python programs, IMO, to include Numeric in the VPython distro. Numeric has thousands of users. They should be able to download VPython without any fear of having their existing installation disturbed in any way. For those who don't already have Numeric, its an extra click or two to install it as a separate distribution. If "we" want to attract other open source developers, I think we have to more carefully follow certain protocols. I have felt strongly, for example, that it is a bad mistake to be manipulating the standard Python index.html file. How might I convince you that is a signficant breach of protocol? Art > > David Andersen once put together a distutils package for Linux, but > unfortunately I never followed up on deploying it. His script is shown > below. Suggestions are welcome on this; maybe it's ready to go? > > Bruce Sherwood > > ------------------------------------------------- > > After wasting a considerable amount of time thinking I had to parse the > includes and libraries my self, I finally realized the easy way to do it. > > Here is a Unix/Linux setup.py: Impressive that it takes so little code. > > #!/usr/bin/env python > # To use: > # python setup.py install > # > import sys > if not hasattr(sys, 'version_info') or sys.version_info < (2,0,0,'alpha',0): > raise SystemExit, "Python 2.0 or later required to build VPython." > import distutils > from distutils.core import setup, Extension > from os import popen3 > > w,r,e = popen3("gtk-config --cflags gtk gthread") > gtkconfig = r.read() > err = e.read() > if (err): > raise ValueErr("Unexpected %s on gtk-config stderr",`err`) > extra_compile_args = gtkconfig.split() > > w,r,e = popen3("gtk-config --libs gtk gthread") > gtkconfig = r.read() > err = e.read() > if (err): > raise ValueErr("Unexpected %s on gtk-config stderr",`err`) > extra_link_args = gtkconfig.split() > > setup (name = "cvisual", > include_dirs = ["CXX/Include"], > ext_modules = [Extension('cvisualmodule', > ['cvisual.cpp', > 'CXX/Src/cxx_extensions.cxx', > 'CXX/Src/cxxextensions.c', > 'CXX/Src/cxxsupport.cxx', > 'arrow.cpp', > 'arrprim.cpp', > 'box.cpp', > 'color.cpp', > 'cone.cpp', > 'convex.cpp', > 'curve.cpp', > 'cylinder.cpp', > 'display.cpp', > 'displaylist.cpp', > 'faceset.cpp', > 'frame.cpp', > 'gldevice.cpp', > 'kbobject.cpp', > 'label.cpp', > 'light.cpp', > 'mouseobject.cpp', > 'platlinux.cpp', > 'prim.cpp', > 'pvector.cpp', > 'rate.cpp', > 'ring.cpp', > 'sphere.cpp', > 'tmatrix.cpp', > 'vcache.cpp', > 'xgl.cpp'], > extra_compile_args = extra_compile_args, > extra_link_args = extra_link_args, > libraries = ["GL","gtkgl"]) > ] > ) > > ----- Original Message ----- > From: "Arthur" <ajs...@op...> > To: "Bruce Sherwood" <bas...@un...>; "John Keck" > <joh...@ho...>; <vis...@li...> > Sent: Sunday, February 16, 2003 5:27 PM > Subject: Re: [Visualpython-users] History and Status? > > > > Bruce writes: > > > > > Design Goals: > > > > > > 1. Preserve at least the current level of usability and performance > > > 2. Make VPython easier to maintain > > > 3. Make VPython easier to extend. There should be a gentle path > > > between user and implementor, not a gaping chasm. > > > 4. Make VPython more useful and less limiting for experts, so as to > > > increase the availability of expert help to the VPython community. > > > 5. Make VPython play nicer with other Python packages and tools > > > > Well thought out. > > > > As to point 5, I am quite convinced that a step toward that goal is the > use > > of Python's distutils as the basis for the distribution mechanism. I can > be > > and would be willing to be helpful here - as I have gotten hands on with > it, > > and find it friendly and flexible. > > > > As I have said many times, I think VPython has some unique qualities. > Which > > if built upon along the lines you suggest, will, I believe allow it be an > > enduring and even more significant project. > > > > But as you suggest, it would need to atttract some developers to get it > over > > the hump to a next phase. > > > > I, for one, am willing to spend time on it. The problem being I am more > of > > a Python person than a C++, or C guy. But I am willing to approach the > > learning curve, especially if there are brains around to pick. I do come > to > > it with a decent grasp of OpenGL. Though I would need to get up on some of > > the newer version features. That being VPython's fault - as I was doing > > more directly in PyOpenGL before VPython came along, with much of what I > was > > trying to do - prebuilt. > > > > I am even willing to try to do some recruiting for the project- perhaps at > > the PyCon event in DC next month. > > > > How do we work toward establishing some concrete ideas for bringing more > of > > your thought experiment to life. > > > > Art > > > > > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |