我正在使用头孢cefpython创建一个简单的基于HTML5的应用程序。我使用Python和pywin32绘制一个简单的窗口并在那里呈现框架。
我想把我的.py编译成一个.exe,但是我不知道怎么做。我试过使用py2exe,但是当我运行结果时,会得到一个错误
Traceback (most recent call last):
File "myApp.py", line 19, in <module>
File "cefpython1\__init__.pyc", line 4, in <module>
ImportError: cannot import name cefpython_py27我试图在分发目录中复制cefpython_py27.pyd,但似乎没有效果。
有谁可以帮我?这真的可以吗?
谢谢。
发布于 2013-04-21 09:32:24
最后,我完成了以下步骤(我使用python2.7):我导入了cefpython,如下所示:
从cefpython1导入cefpython_py27作为cefpython
我的py2exe抱怨python32.dll找不到,因为im和cba处理__ini__文件并搜索它的导入位置--我只是在安装文件中的选项中将python32.dll添加到dll_excludes中。在py2exe完成之后,我还不得不手动将这些文件夹和文件复制到我的dist文件夹中:
- C:\Python27(your python path)\Lib\site-packages\cefpython1\locales - whole folder
- C:\Python27(your python path)\Lib\site-packages\cefpython1\icudt.dll请注意,icudt.dll = 9.8MB,libcef.dll = 24.3MB,所以不要期望较小的dist文件夹大小。
发布于 2013-08-12 00:54:04
扩展hidetr的答案,将类似这样的内容添加到setup.py中将复制所需的文件:
def get_cefpython_path():
import cefpython1 as cefpython
path = os.path.dirname(cefpython.__file__)
return "%s%s" % (path, os.sep)
def get_data_files():
cefp = get_cefpython_path()
data_files = [('', ['%s/icudt.dll' % cefp,
'%s/d3dcompiler_43.dll' % cefp,
'%s/d3dx9_43.dll' % cefp,
'%s/devtools_resources.pak' % cefp,
'%s/ffmpegsumo.dll' % cefp,
'%s/libEGL.dll' % cefp,
'%s/libGLESv2.dll' % cefp,
'%s/Microsoft.VC90.CRT.manifest' % cefp,
'%s/msvcm90.dll' % cefp,
'%s/msvcp90.dll' % cefp,
'%s/msvcr90.dll' % cefp]),
('locales', ['%s/locales/en-US.pak' % cefp]),
]
return data_files
setup(
data_file = get_data_files()
...发布于 2014-08-24 11:43:07
下面是我在Python2.7 Win32中所做的工作。我使用了cefpython示例文件夹中的cefsimple.py示例进行演示。此示例需要win32gui模块才能工作,因此请先安装此模块。
from cefpython1 import cefpython。基于__file__的模块检测在py2exe内部不起作用,并导致错误,所以我删除了它(也许有更好的方法)。 from setuptools import setup
import py2exe
import os
def get_cefpython_path():
import cefpython1 as cefpython
path = os.path.dirname(cefpython.__file__)
return "%s%s" % (path, os.sep)
def get_data_files():
cefp = get_cefpython_path()
data_files = [('', [
'%s/icudt.dll' % cefp,
'%s/d3dcompiler_43.dll' % cefp,
'%s/d3dx9_43.dll' % cefp,
'%s/devtools_resources.pak' % cefp,
'%s/ffmpegsumo.dll' % cefp,
'%s/libEGL.dll' % cefp,
'%s/libGLESv2.dll' % cefp,
'%s/Microsoft.VC90.CRT.manifest' % cefp,
'%s/msvcm90.dll' % cefp,
'%s/msvcp90.dll' % cefp,
'%s/msvcr90.dll' % cefp,
'icon.ico', 'cefsimple.html']),
('locales', ['%s/locales/en-US.pak' % cefp]),
]
return data_files
setup(
data_files = get_data_files(),
windows=['cefsimple.py'],
options={
"py2exe": {
"includes": ["json", "urllib"]
}
}
)python setup.py py2exedist/cefsimple.exe运行生成的应用程序。您可以获得这个示例从我的谷歌硬盘的文件。
https://stackoverflow.com/questions/15668568
复制相似问题