I'm trying to create a binary with py2exe, here are last lines of py2exe output:
*** copy dlls ***
copying C:\Apps\Python27\python27.dll -> C:\Documents and Settings\nikolay.derka
ch\Desktop\UMTScellsChecking\UMTScellsChecking\dist
setting sys.winver for 'C:\Documents and Settings\nikolay.derkach\Desktop\UMTSce
llsChecking\UMTScellsChecking\dist\python27.dll' to 'py2exe'
copying C:\Apps\Python27\w9xpopen.exe -> C:\Documents and Settings\nikolay.derka
ch\Desktop\UMTScellsChecking\UMTScellsChecking\dist
copying C:\Apps\Python27\lib\site-packages\py2exe\run.exe -> C:\Documents and Se
ttings\nikolay.derkach\Desktop\UMTScellsChecking\UMTScellsChecking\dist\UMTSCell
Test.exe
The following modules appear to be missing
['_scproxy', 'sqlalchemy.cprocessors', 'sqlalchemy.cresultproxy', 'win32api', 'w
in32con', 'win32pipe']
*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.
Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.
USER32.dll - C:\WINDOWS\system32\USER32.dll
SHELL32.dll - C:\WINDOWS\system32\SHELL32.dll
WSOCK32.dll - C:\WINDOWS\system32\WSOCK32.dll
ADVAPI32.dll - C:\WINDOWS\system32\ADVAPI32.dll
WS2_32.dll - C:\WINDOWS\system32\WS2_32.dll
KERNEL32.dll - C:\WINDOWS\system32\KERNEL32.dll
My original python script runs just fine, but when I execute resulting binary I get the following:
C:\Documents and Settings\nikolay.derkach\Desktop\UMTScellsChecking\UMTScellsChe
cking\dist>UMTSCellTest.exe
Traceback (most recent call last):
File "UMTSCellTest.py", line 53, in <module>
File "sqlalchemy\engine\__init__.pyc", line 244, in create_engine
File "sqlalchemy\engine\strategies.pyc", line 46, in create
File "sqlalchemy\engine\url.p开发者_C百科yc", line 99, in get_dialect
ImportError: No module named oracle
Also, here is my setup.py which I use for py2exe:
from distutils.core import setup
import py2exe, sys
sys.argv.append('py2exe')
setup(
options = {"py2exe": {
'bundle_files': 2,
'compressed': True,
'dll_excludes': ['oci.dll']}},
console=[{'script': 'UMTSCellTest.py'}]
)
Any ideas what that ImportError could mean? Thanks in advance.
You may need to specify explicitly to py2exe to import the package with the packages
option. A good way to check is to look in the build directory, and see of the oracle module is actually there.
options = dict(optimize=2,
bundle_files=2,
compressed=True,
packages=["oracle"],
dll_excludes=['oci.dll'])
setup_dict['options'] = {"py2exe":options}
Just add import sqlalchemy.dialects.oracle at the top of youre main module.
精彩评论