2015-04-15 7 views
1
from lib import mod_a 
print mod_a.MyClassName 
Result:<class 'lib.mod_a.MyClassName'> 

print __import__("mod_a").MyClassName 
Result:<class 'mod_a.MyClassName'> 

При запуске в ехе (созданный py2exe), вызовет ошибкуImportError: Нет модуль с именем ххх

print mod_a.MyClassName 
Result:<class 'lib.mod_a.MyClassName'> 


#Error 
print __import__("mod_a").MyClassName    

Traceback (most recent call last): File "test.py", line 28, in
print import("mod_a").MyClassName
ImportError: No module named mod_a


Это мой setup.py

from distutils.core import setup 
import py2exe 
import sys 

includes = ["encodings", "encodings.*"] 
sys.argv.append("py2exe") 
sys.argv.append("-p lxml,gzip") 
options = {"py2exe": { 
        "compressed": 1, 
        "optimize": 2, 
        "ascii": 0, 
        "bundle_files": 1, 
        } 
     } 
setup(
     version = "", 
     description = "", 
     name = "", 
     options = options, 
     zipfile=None, 
     console = [{"script":'test.py', 
        'icon_resources':[(1, 'update.ico')]}]) 

ответ

0

Попробуйте импортировать mod_a в настройках после impo rting py2exe

from distutils.core import setup 
import py2exe 
import sys 
from lib import mod_a 
0
print sys.modules["lib.mod_a"].MyClassName 

хорошо работать на ехе!

Смежные вопросы