python2.5 importerror on md5

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • samn

    #1

    python2.5 importerror on md5

    i compiled and installed the release version of python 2.5 for linux to
    a directory accessible to 2 computers, configured with
    --prefix=/usr/arch (which is accessible to both machines). the
    installation went fine and when i run python on one machine i can do
    from hashlib import * without a problem. on the other machine i get the
    following error:
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/arch/lib/python2.5/hashlib.py", line 104, in <module>
    md5 = __get_builtin_c onstructor('md5 ')
    File "/usr/arch/lib/python2.5/hashlib.py", line 31, in
    __get_builtin_c onstructor
    import _md5
    ImportError: No module named _md5

    I have the file md5.py , md5.pyo , and md5.pyc in
    /usr/arch/lib/python2.5/ so I don't know why python is having a problem
    finding the md5 module...

    The sys.path is equal on both machines :
    ['', '/usr/arch/lib/python25.zip', '/usr/arch/lib/python2.5',
    '/usr/arch/lib/python2.5/plat-linux2',
    '/usr/arch/lib/python2.5/lib-tk',
    '/usr/arch/lib/python2.5/lib-dynload',
    '/usr/arch/lib/python2.5/site-packages',
    '/usr/arch/lib/python2.5/site-packages/gtk-2.0']

    Here is the version info :
    Python 2.5 (r25:51908, Oct 23 2006, 13:38:11)
    [GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-56)] on linux2

    If anyone has encountered similar problems or knows of a way to
    fix/suggestions please let me know.

    Thanks in advance.
    Sam

  • Steve Holden

    #2
    Re: python2.5 importerror on md5

    samn wrote:
    i compiled and installed the release version of python 2.5 for linux to
    a directory accessible to 2 computers, configured with
    --prefix=/usr/arch (which is accessible to both machines). the
    installation went fine and when i run python on one machine i can do
    from hashlib import * without a problem. on the other machine i get the
    following error:
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/arch/lib/python2.5/hashlib.py", line 104, in <module>
    md5 = __get_builtin_c onstructor('md5 ')
    File "/usr/arch/lib/python2.5/hashlib.py", line 31, in
    __get_builtin_c onstructor
    import _md5
    ImportError: No module named _md5
    >
    I have the file md5.py , md5.pyo , and md5.pyc in
    /usr/arch/lib/python2.5/ so I don't know why python is having a problem
    finding the md5 module...
    >
    The sys.path is equal on both machines :
    ['', '/usr/arch/lib/python25.zip', '/usr/arch/lib/python2.5',
    '/usr/arch/lib/python2.5/plat-linux2',
    '/usr/arch/lib/python2.5/lib-tk',
    '/usr/arch/lib/python2.5/lib-dynload',
    '/usr/arch/lib/python2.5/site-packages',
    '/usr/arch/lib/python2.5/site-packages/gtk-2.0']
    >
    Here is the version info :
    Python 2.5 (r25:51908, Oct 23 2006, 13:38:11)
    [GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-56)] on linux2
    >
    If anyone has encountered similar problems or knows of a way to
    fix/suggestions please let me know.
    >
    I believe the _md5 module (as opposed to the md5 module) is a compiled
    extension. I'm guessing the import succeeds on the machine you used to
    build python.

    Try

    import _md5
    print _md5.__file__

    and see if you can find out where it's being loaded from. You'll
    probably find that you also need to tailor the sysprefix parameter, or
    some such.

    regards
    Steve

    --
    Steve Holden +44 150 684 7255 +1 800 494 3119
    Holden Web LLC/Ltd http://www.holdenweb.com
    Skype: holdenweb http://holdenweb.blogspot.com
    Recent Ramblings http://del.icio.us/steve.holden

    Comment

    • samn

      #3
      Re: python2.5 importerror on md5

      I believe the _md5 module (as opposed to the md5 module) is a compiled
      extension. I'm guessing the import succeeds on the machine you used to
      build python.
      >
      Try
      >
      import _md5
      print _md5.__file__
      >
      and see if you can find out where it's being loaded from. You'll
      probably find that you also need to tailor the sysprefix parameter, or
      some such.
      >
      You are correct that import md5 works fine on the machine that I
      compiled on and only has problems on the other machine. I wasn't able
      to import _md5 , even on the machine I compiled on.
      Here's what I get on the machine I compiled on:
      Python 2.5 (r25:51908, Oct 23 2006, 13:38:11)
      [GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-56)] on linux2
      Type "help", "copyright" , "credits" or "license" for more information.
      >>import md5
      >>import _md5
      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      ImportError: No module named _md5
      >>import md5
      >>print md5.__file__
      /usr/arch/lib/python2.5/md5.py

      sys.prefix is equal on both machines:
      >>>import sys
      >>sys.prefix
      '/usr/arch'

      thanks for any help
      sam

      Comment

      • Steve Holden

        #4
        Re: python2.5 importerror on md5

        samn wrote:
        >>I believe the _md5 module (as opposed to the md5 module) is a compiled
        >>extension. I'm guessing the import succeeds on the machine you used to
        >>build python.
        >>
        >>Try
        >>
        > import _md5
        > print _md5.__file__
        >>
        >>and see if you can find out where it's being loaded from. You'll
        >>probably find that you also need to tailor the sysprefix parameter, or
        >>some such.
        >>
        >
        >
        You are correct that import md5 works fine on the machine that I
        compiled on and only has problems on the other machine. I wasn't able
        to import _md5 , even on the machine I compiled on.
        Here's what I get on the machine I compiled on:
        Python 2.5 (r25:51908, Oct 23 2006, 13:38:11)
        [GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-56)] on linux2
        Type "help", "copyright" , "credits" or "license" for more information.
        >
        >>>>import md5
        >>>>import _md5
        >
        Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        ImportError: No module named _md5
        >
        >>>>import md5
        >>>>print md5.__file__
        >
        /usr/arch/lib/python2.5/md5.py
        >
        sys.prefix is equal on both machines:
        >
        >>>>import sys
        >>>>sys.prefi x
        >
        '/usr/arch'
        >
        thanks for any help
        sam
        >
        Try looking for md5.so - it'll probably be somewhere like
        /usr/lib/python2.5/lib-dynload. When I said sys-prefix I meant the
        --exec-prefix configuration option, but actually I'm not sure what
        determines where shared libraries end up.

        At least knowing what you are looking for should help. This may affect
        other modules that use extension support.

        regards
        Steve
        --
        Steve Holden +44 150 684 7255 +1 800 494 3119
        Holden Web LLC/Ltd http://www.holdenweb.com
        Skype: holdenweb http://holdenweb.blogspot.com
        Recent Ramblings http://del.icio.us/steve.holden

        Comment

        • samn

          #5
          Re: python2.5 importerror on md5

          i think the problem is different versions of openssl on the two
          machines , 0.9.7a and 0.9.8b

          Comment

          • Chris Lambacher

            #6
            Re: python2.5 importerror on md5

            On Mon, Oct 23, 2006 at 01:28:46PM -0700, samn wrote:
            i think the problem is different versions of openssl on the two
            machines , 0.9.7a and 0.9.8b
            I second that this is the likely culprit. I got bit by it while trying to
            do cross compile. The module build process assumes a couple of locations that
            a particular library might be and takes the first one it finds, regardless of
            which one you actually want it to use. I ended up making modifications to
            what modules were installed to get md5 to finally import.

            My experiences are outlined at this page:


            -Chris

            Comment

            • samn

              #7
              Re: python2.5 importerror on md5


              Chris Lambacher wrote:
              On Mon, Oct 23, 2006 at 01:28:46PM -0700, samn wrote:
              i think the problem is different versions of openssl on the two
              machines , 0.9.7a and 0.9.8b
              I second that this is the likely culprit. I got bit by it while trying to
              do cross compile. The module build process assumes a couple of locations that
              a particular library might be and takes the first one it finds, regardless of
              which one you actually want it to use. I ended up making modifications to
              what modules were installed to get md5 to finally import.
              >
              My experiences are outlined at this page:

              >
              -Chris
              thanks , i actually ended up installing openssl 0.9.8b on the machine
              with version 0.9.7a and then reinstalling hashlib (after taking out
              part of setup.py that doesn't let you install for python >= 2.5) in the
              right place and then it worked

              Comment

              Working...