From: John Stone (johns_at_ks.uiuc.edu)
Date: Tue Apr 04 2006 - 16:00:09 CDT

Hi Federico,
  The VMD binaries we distribute are all compiled against the same
version of Python, which has been 2.2.2 thus far. Since every linux
distribution (and indeed, almost every major OS in fact) comes with a
different version of Python, linking against the system-provided Python
interpreter won't work for VMD.

Where this leaves those of us wanting to nontrivial stuff that requires
the full Python library in VMD:
  1) If you want to use the same Python setup that's on your system already,
     it's currently much easier to compile VMD from source code and link it
     against your local Python than to try and get around the Python library
     version issues. If people need help with this, contact me and I can
     help you get past any sticking points in your builds. You can either
     build from one of the source distributions, or you can get the latest
     VMD source code from CVS.

  2) If you want to use John Mongan's IED plugin, or other things that need
     Tkinter, you're probably also headed for 1) above.
     (tkinter is usually dynamically linked against whatever Tcl/Tk
      version is favored by a particular Linux distribution, so unless you
      go through great pains in the Python build and are also lucky, the
      Python tkinter module built on one system may not work on another)

Regarding upgrading VMD to one of the more recent Python revs:
  Several times I've tried to upgrade to Python 2.3 and 2.4 only to find
serious problems compiling the newer versions on several of the
64-bit platforms that VMD supports, and I won't even mention the fun
involved in building Python from source on Windows if you want to
add Numeric and Tkinter support, which is something most VMD users
want so they can run IED and similar tools.
I've reported these problems in the Python bug tracking system, and
I've provided the Python developers fixes for the ones I could solve
for myself, but the problems still continue and I haven't had time
to go through another attempt since the last one a few months back.
In the mean time it would seem that I'm going to have to stick with 2.2.2
for the 1.8.4 release, though it pains me greatly.

What I may do to ease the pain for Python hackers is to try and release
Python 2.4 based VMD 1.8.4 binaries in addition to the normal ones, for
the few platforms that they'll work fine for. (Linux for starters)

  John

On Tue, Apr 04, 2006 at 12:11:16PM -0400, Sacerdoti, Federico wrote:
> Hi,
>
> I have installed vmd 1.8.3 on our Linux x86_64 (Rocks 4.0 - Centos
> 4.2/RHEL4 based) systems. I notice that vmd has its own compiled in
> version of python, which is an older version than the RHEL4 standard:
> vmd:
>
> vmd 1.8.3:
>
> >>> import sys
> >>> sys.version
> '2.2.2 (#1, Jan 31 2005, 10:19:19) \n[GCC 3.3.3 20040412 (Red Hat Linux
> 3.3.3-7)]'
> >>>
>
> native:
>
> >>> import sys
> >>> sys.version
> '2.3.4 (#1, Feb 17 2005, 21:01:10) \n[GCC 3.4.3 20041212 (Red Hat
> 3.4.3-9.EL4)]'
> >>>
>
> This of course causes lots of problems. Right off the bat _tkinter
> cannot be found, although the native python has no problems with it.
>
> I have installed your precompiled python libraries from
>
> http://www.ks.uiuc.edu/Research/vmd/plugins/pythonlib/
>
> But that does not help with _tkinter, since it does not seem to be
> included. Perhaps that is due to this unanswered thread:
>
> http://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/5862.html
>
> As for Numeric, if I set the PYTHONPATH to something appropriately
> awful:
> export
> PYTHONPATH=$PYTHONPATH:[...]/vmd-1.8.3/lib/pylib/lib_LINUXAMD64/lib/pyth
> on2.2/site-packages/Numeric
> then vmd can find Numeric, but there is still an error:
>
> vmd > gopython
> Info) Starting Python...
> Could not find platform independent libraries <prefix>
> Could not find platform dependent libraries <exec_prefix>
> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
> /usr/lib64/python2.3/os.py:282: Warning: 'yield' will become a reserved
> keyword in the future
> 'import site' failed; use -v for traceback
>
> Numeric Python module _numpy not found; vmdnumpy module not available.
> ImportError:
> /proj/desrad/opt/Linux-x86_64/vmd-1.8.3/lib/pylib/lib_LINUXAMD64/lib/pyt
> hon2.2/site-packages/Numeric/_numpy.so: undefined symbol: _Py_NoneStruct
>
> Info) Text interpreter now Python
> Traceback (most recent call last):
> File "<string>", line 1, in ?
> File
> "/proj/desrad/opt/Linux-x86_64/vmd-1.8.3/lib/scripts/python/Tkinter.py",
> line 59, in ?
> import _tkinter # If this fails your Python may not be configured
> for Tk
> ImportError: No module named _tkinter
> >>>
>
> Was the library compiled incorrectly, or did I do something wrong during
> installation?
>
> Thanks,
> Federico
>
> D.E. Shaw Research LLC
> New York
>

-- 
NIH Resource for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078