[Tutor] Finding the version # of a module, and py module problem
Tommy Grav
tgrav at mac.com
Fri Aug 6 15:31:36 EDT 2010
On Aug 6, 2010, at 3:14 PM, W. eWatson wrote:
> I must be missing something. I tried this. (Windows, IDLE, Python 2.5)
> # Try each module
> import sys
> import numpy
> import scipy
> import string
>
> dependencies = "numyp", "scipy"
> for dependency in dependencies:
> try:
> __import__(dependency.name)
> except ImportError:
> # Uh oh!
> dependency.installed = None
> else:
> # The module loaded OK. Get a handle to it and try to extract
> # version info.
> # Many Python modules follow the convention of providing their
> # version as a string in a __version__ attribute.
> module = sys.modules[dependency.name]
>
> # This is what I default to.
> dependency.installed = "[version unknown]"
>
> for attribute_name in ("__version__", "__VERSION__", "VERSION",
> "version"):
> if hasattr(module, attribute_name):
> dependency.installed = getattr(module, attribute_name)
> break
>
> The result was this.
> Traceback (most recent call last):
> File "C:/Users/Wayne/Sandia_Meteors/Trajectory_Estimation/dependency_code", line 10, in <module>
> __import__(dependency.name)
> AttributeError: 'str' object has no attribute 'name'
> --
> http://mail.python.org/mailman/listinfo/python-list
dependencies = "numpy", "scipy"
is a tuple of two strings, when you do your for loop you
first get "numpy" (a string) and it does not have a .name
attribute.
Tommy
More information about the Python-list
mailing list