Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 83144 - Python can't find base64MIME module when importing smtplib
Summary: Python can't find base64MIME module when importing smtplib
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: HPPA Linux
: High normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-23 23:44 UTC by arjan tuinhout
Modified: 2006-09-02 05:08 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description arjan tuinhout 2005-02-23 23:44:00 UTC
Hello all,

I try to write an email application in python for which I need to import the smtplib module. Appearently this module itself requires the base64MIME module, which is located in the module sub directory 'email'. 

Now the module is there, but when running the script it can't be found. In the python interactive mode 'import smtplib' works the SECOND time(?!?!). The first time i get an error message:
...
import smtplib
File "/usr/lib/python2.3/smtplib.py", line 48, in ?
 from email.base64MIME import encode as encode_base64
ImportError: No module name baseMIME64
I have seen this bug(?) being reported & solved by the Debian crew, so I thought this might be related to the distribution (in my case Gentoo).

Some details:
Python    : 2.3.5
GCC       : 3.3.5
Gentoo Lin: 3.3.5-r1, ssp-3.3.3-3, pie -8.7.7.1 on linux2

Any help will be appreciated!

Kind regards, 

Arjan

Reproducible: Always
Steps to Reproduce:
1. start python 2.3.5
2. >>>import smtplib
3.

Actual Results:  
Error message appears:
...
import smtplib
File "/usr/lib/python2.3/smtplib.py", line 48, in ?
 from email.base64MIME import encode as encode_base64
ImportError: No module named base64MIME

Module exits though!

Expected Results:  
Just load the module smtplib without returning an error.
Comment 1 Alastair Tse (RETIRED) gentoo-dev 2005-03-15 08:00:12 UTC
well, is there a file called /usr/lib/python2.3/email/base64MIME.py ? if there isn't then something might have gone wrong during the merge that caused it to be omitted.

can you also check whether /var/db/pkg/dev-lang/python-*/CONTENTS has it as well?
Comment 2 arjan tuinhout 2005-03-15 13:13:25 UTC
Hello Alastair,

 /usr/lib/python2.3/email/base64MIME.py

exists, just as well as it is listed in 

/var/db/pkg/dev-lang/python-*/CONTENTS

Is there any othet 'PATH' variable which might be of importance?

Kind regards,

Arjan
Comment 3 Alastair Tse (RETIRED) gentoo-dev 2005-03-16 02:35:08 UTC
i can't reproduce this. can you run:

python -v -c 'import smtplib' 

and give us the output?
Comment 4 arjan tuinhout 2005-03-19 02:00:07 UTC
Dear Alastair,

I have executed python -v -c 'import smtplib':

Please keep in mind that when I execute this module a second time, it doesn't complain...

Many thanks & good luck,

Arjan


This was echoed:

# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# /usr/lib/python2.3/site.pyc matches /usr/lib/python2.3/site.py
import site # precompiled from /usr/lib/python2.3/site.pyc
# /usr/lib/python2.3/os.pyc matches /usr/lib/python2.3/os.py
import os # precompiled from /usr/lib/python2.3/os.pyc
import posix # builtin
# /usr/lib/python2.3/posixpath.pyc matches /usr/lib/python2.3/posixpath.py
import posixpath # precompiled from /usr/lib/python2.3/posixpath.pyc
# /usr/lib/python2.3/stat.pyc matches /usr/lib/python2.3/stat.py
import stat # precompiled from /usr/lib/python2.3/stat.pyc
# /usr/lib/python2.3/UserDict.pyc matches /usr/lib/python2.3/UserDict.py
import UserDict # precompiled from /usr/lib/python2.3/UserDict.pyc
# /usr/lib/python2.3/copy_reg.pyc matches /usr/lib/python2.3/copy_reg.py
import copy_reg # precompiled from /usr/lib/python2.3/copy_reg.pyc
# /usr/lib/python2.3/types.pyc matches /usr/lib/python2.3/types.py
import types # precompiled from /usr/lib/python2.3/types.pyc
# /usr/lib/python2.3/warnings.pyc matches /usr/lib/python2.3/warnings.py
import warnings # precompiled from /usr/lib/python2.3/warnings.pyc
# /usr/lib/python2.3/linecache.pyc matches /usr/lib/python2.3/linecache.py
import linecache # precompiled from /usr/lib/python2.3/linecache.pyc
import encodings # directory /usr/lib/python2.3/encodings
# /usr/lib/python2.3/encodings/__init__.pyc matches /usr/lib/python2.3/encodings/__init__.py
import encodings # precompiled from /usr/lib/python2.3/encodings/__init__.pyc
# /usr/lib/python2.3/codecs.pyc matches /usr/lib/python2.3/codecs.py
import codecs # precompiled from /usr/lib/python2.3/codecs.pyc
import _codecs # builtin
# /usr/lib/python2.3/encodings/aliases.pyc matches /usr/lib/python2.3/encodings/aliases.py
import encodings.aliases # precompiled from /usr/lib/python2.3/encodings/aliases.pyc
# /usr/lib/python2.3/encodings/ascii.pyc matches /usr/lib/python2.3/encodings/ascii.py
import encodings.ascii # precompiled from /usr/lib/python2.3/encodings/ascii.pyc
Python 2.3.5 (#1, Feb 21 2005, 23:00:18)
[GCC 3.3.5  (Gentoo Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
# /usr/lib/python2.3/smtplib.pyc matches /usr/lib/python2.3/smtplib.py
import smtplib # precompiled from /usr/lib/python2.3/smtplib.pyc
# /usr/lib/python2.3/socket.pyc matches /usr/lib/python2.3/socket.py
import socket # precompiled from /usr/lib/python2.3/socket.pyc
dlopen("/usr/lib/python2.3/lib-dynload/_socket.so", 2);
import _socket # dynamically loaded from /usr/lib/python2.3/lib-dynload/_socket.so
dlopen("/usr/lib/python2.3/lib-dynload/_ssl.so", 2);
import _ssl # dynamically loaded from /usr/lib/python2.3/lib-dynload/_ssl.so
import errno # builtin
# /usr/lib/python2.3/re.pyc matches /usr/lib/python2.3/re.py
import re # precompiled from /usr/lib/python2.3/re.pyc
# /usr/lib/python2.3/sre.pyc matches /usr/lib/python2.3/sre.py
import sre # precompiled from /usr/lib/python2.3/sre.pyc
# /usr/lib/python2.3/sre_compile.pyc matches /usr/lib/python2.3/sre_compile.py
import sre_compile # precompiled from /usr/lib/python2.3/sre_compile.pyc
import _sre # builtin
# /usr/lib/python2.3/sre_constants.pyc matches /usr/lib/python2.3/sre_constants.py
import sre_constants # precompiled from /usr/lib/python2.3/sre_constants.pyc
# /usr/lib/python2.3/sre_parse.pyc matches /usr/lib/python2.3/sre_parse.py
import sre_parse # precompiled from /usr/lib/python2.3/sre_parse.pyc
# /usr/lib/python2.3/string.pyc matches /usr/lib/python2.3/string.py
import string # precompiled from /usr/lib/python2.3/string.pyc
dlopen("/usr/lib/python2.3/lib-dynload/strop.so", 2);
import strop # dynamically loaded from /usr/lib/python2.3/lib-dynload/strop.so
# /usr/lib/python2.3/rfc822.pyc matches /usr/lib/python2.3/rfc822.py
import rfc822 # precompiled from /usr/lib/python2.3/rfc822.pyc
dlopen("/usr/lib/python2.3/lib-dynload/time.so", 2);
import time # dynamically loaded from /usr/lib/python2.3/lib-dynload/time.so
# /usr/lib/python2.3/base64.pyc matches /usr/lib/python2.3/base64.py
import base64 # precompiled from /usr/lib/python2.3/base64.pyc
dlopen("/usr/lib/python2.3/lib-dynload/binascii.so", 2);
import binascii # dynamically loaded from /usr/lib/python2.3/lib-dynload/binascii.so
# /usr/lib/python2.3/hmac.pyc matches /usr/lib/python2.3/hmac.py
import hmac # precompiled from /usr/lib/python2.3/hmac.pyc
import email # directory /usr/lib/python2.3/email
# /usr/lib/python2.3/email/__init__.pyc matches /usr/lib/python2.3/email/__init__.py
import email # precompiled from /usr/lib/python2.3/email/__init__.pyc
# /usr/lib/python2.3/email/base64MIME.pyc matches /usr/lib/python2.3/email/base64MIME.py
import email.base64MIME # precompiled from /usr/lib/python2.3/email/base64MIME.pyc
# /usr/lib/python2.3/email/Utils.pyc matches /usr/lib/python2.3/email/Utils.py
import email.Utils # precompiled from /usr/lib/python2.3/email/Utils.pyc
# /usr/lib/python2.3/random.pyc matches /usr/lib/python2.3/random.py
import random # precompiled from /usr/lib/python2.3/random.pyc
dlopen("/usr/lib/python2.3/lib-dynload/math.so", 2);
import math # dynamically loaded from /usr/lib/python2.3/lib-dynload/math.so
dlopen("/usr/lib/python2.3/lib-dynload/_random.so", 2);
import _random # dynamically loaded from /usr/lib/python2.3/lib-dynload/_random.so
dlopen("/usr/lib/python2.3/lib-dynload/cStringIO.so", 2);
import cStringIO # dynamically loaded from /usr/lib/python2.3/lib-dynload/cStringIO.so
# /usr/lib/python2.3/email/_parseaddr.pyc matches /usr/lib/python2.3/email/_parseaddr.py
import email._parseaddr # precompiled from /usr/lib/python2.3/email/_parseaddr.pyc
# /usr/lib/python2.3/quopri.pyc matches /usr/lib/python2.3/quopri.py
import quopri # precompiled from /usr/lib/python2.3/quopri.pyc
# /usr/lib/python2.3/email/Encoders.pyc matches /usr/lib/python2.3/email/Encoders.py
import email.Encoders # precompiled from /usr/lib/python2.3/email/Encoders.pyc
# /usr/lib/python2.3/email/_compat22.pyc matches /usr/lib/python2.3/email/_compat22.py
import email._compat22 # precompiled from /usr/lib/python2.3/email/_compat22.pyc
# /usr/lib/python2.3/__future__.pyc matches /usr/lib/python2.3/__future__.py
import __future__ # precompiled from /usr/lib/python2.3/__future__.pyc
# clear __builtin__._
# clear sys.path
# clear sys.argv
# clear sys.ps1
# clear sys.ps2
# clear sys.exitfunc
# clear sys.exc_type
# clear sys.exc_value
# clear sys.exc_traceback
# clear sys.last_type
# clear sys.last_value
# clear sys.last_traceback
# clear sys.path_hooks
# clear sys.path_importer_cache
# clear sys.meta_path
# restore sys.stdin
# restore sys.stdout
# restore sys.stderr
# cleanup __main__
# cleanup[1] cStringIO
# cleanup[1] site
# cleanup[1] encodings
# cleanup[1] __future__
# cleanup[1] errno
# cleanup[1] sre_constants
# cleanup[1] _codecs
# cleanup[1] email
# cleanup[1] math
# cleanup[1] zipimport
# cleanup[1] email._compat22
# cleanup[1] encodings.ascii
# cleanup[1] quopri
# cleanup[1] email.Encoders
# cleanup[1] codecs
# cleanup[1] smtplib
# cleanup[1] strop
# cleanup[1] sre
# cleanup[1] signal
# cleanup[1] posix
# cleanup[1] encodings.aliases
# cleanup[1] exceptions
# cleanup[1] sre_parse
# cleanup[1] hmac
# cleanup[1] sre_compile
# cleanup[1] rfc822
# cleanup[1] _sre
# cleanup[1] email._parseaddr
# cleanup[1] email.base64MIME
# cleanup[1] email.Utils
# cleanup[1] re
# cleanup[1] string
# cleanup[1] warnings
# cleanup[1] types
# cleanup[1] socket
# cleanup[1] random
# cleanup[1] linecache
# cleanup[1] time
# cleanup[1] base64
# cleanup[1] _ssl
# cleanup[1] _random
# cleanup[1] _socket
# cleanup[1] binascii
# cleanup[2] copy_reg
# cleanup[2] posixpath
# cleanup[2] os.path
# cleanup[2] stat
# cleanup[2] UserDict
# cleanup[2] os
# cleanup sys
# cleanup __builtin__
# cleanup ints: 32 unfreed ints in 3 out of 4 blocks
# cleanup floats: 28 unfreed floats in 1 out of 1 block
Comment 5 Alastair Tse (RETIRED) gentoo-dev 2005-04-20 08:14:49 UTC
btw, you say that this bug was solved by the debian project? can you give us a link to where you found the report?

also, could you attach your emerge info?
Comment 6 Alastair Tse (RETIRED) gentoo-dev 2006-09-02 05:08:25 UTC
this bug requires more info. please reopen if there is more information that can be provided to track down this bug.