免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8011 | 回复: 6

[求助][已解决]cx_Freeze无法找到模块openpyxl [复制链接]

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
发表于 2013-12-11 17:42 |显示全部楼层
本帖最后由 stanley_tam 于 2013-12-12 22:55 编辑

求各位大神
  1. import sys
  2. from cx_Freeze import setup, Executable

  3. executables = [
  4.         Executable("pyvalidate.py")
  5.         # Executable("advanced_2.py")
  6. ]

  7. buildOptions = dict(
  8.         compressed = True,
  9.         includes = ["openpyxl", "os", "re", "sys"],
  10.         path = sys.path + ["dist"])

  11. setup(
  12.         name = "pyvalidate",
  13.         version = "0.1",
  14.         description = "sample cx_Freeze script",
  15.         options = dict(build_exe = buildOptions),
  16.         executables = executables)

  17. 上面是setup.py里面的内容,运行python setup.py bdist_msi:
  18. C:\Users\IBM_ADMIN\Desktop\revalidate>python setup.py bdist_msi
  19. running bdist_msi
  20. running build
  21. running build_exe
  22. Traceback (most recent call last):
  23.   File "setup.py", line 19, in <module>
  24.     executables = executables)
  25.   File "C:\Python33\lib\site-packages\cx_Freeze\dist.py", line 365, in setup
  26.     distutils.core.setup(**attrs)
  27.   File "C:\Python33\lib\distutils\core.py", line 148, in setup
  28.     dist.run_commands()
  29.   File "C:\Python33\lib\distutils\dist.py", line 929, in run_commands
  30.     self.run_command(cmd)
  31.   File "C:\Python33\lib\distutils\dist.py", line 948, in run_command
  32.     cmd_obj.run()
  33.   File "C:\Python33\lib\site-packages\cx_Freeze\windist.py", line 363, in run
  34.     self.run_command('build')
  35.   File "C:\Python33\lib\distutils\cmd.py", line 313, in run_command
  36.     self.distribution.run_command(command)
  37.   File "C:\Python33\lib\distutils\dist.py", line 948, in run_command
  38.     cmd_obj.run()
  39.   File "C:\Python33\lib\distutils\command\build.py", line 126, in run
  40.     self.run_command(cmd_name)
  41.   File "C:\Python33\lib\distutils\cmd.py", line 313, in run_command
  42.     self.distribution.run_command(command)
  43.   File "C:\Python33\lib\distutils\dist.py", line 948, in run_command
  44.     cmd_obj.run()
  45.   File "C:\Python33\lib\site-packages\cx_Freeze\dist.py", line 235, in run
  46.     freezer.Freeze()
  47.   File "C:\Python33\lib\site-packages\cx_Freeze\freezer.py", line 570, in Freeze

  48.     self.finder = self._GetModuleFinder()
  49.   File "C:\Python33\lib\site-packages\cx_Freeze\freezer.py", line 323, in _GetMo
  50. duleFinder
  51.     finder.IncludeModule(name)
  52.   File "C:\Python33\lib\site-packages\cx_Freeze\finder.py", line 526, in Include
  53. Module
  54.     namespace = namespace)
  55.   File "C:\Python33\lib\site-packages\cx_Freeze\finder.py", line 274, in _Import
  56. Module
  57.     raise ImportError("No module named %r" % name)
  58. ImportError: No module named 'openpyxl'

  59. 提示木有模块openpyxl...
  60. openpyxl在python33目录下是.egg的形式

  61. C:\Python33\Lib\site-packages\openpyxl-1.6.2-py3.3.egg
复制代码

论坛徽章:
0
发表于 2013-12-11 18:03 |显示全部楼层
本帖最后由 remyzane 于 2013-12-11 18:10 编辑

openpyxl-1.6.2-py3.3.egg目录内有什么子目录和文件?
有 openpyxl 子目录吗,openpyxl子目录下有 __init__.py 文件吗?

论坛徽章:
4
天蝎座
日期:2013-11-06 11:39:34巳蛇
日期:2014-01-16 16:53:14午马
日期:2014-08-25 21:42:302015年迎新春徽章
日期:2015-03-03 17:21:44
发表于 2013-12-11 20:46 |显示全部楼层
用pyinstall吧,这个简单更方便

论坛徽章:
4
白羊座
日期:2013-11-05 10:26:09冥斗士
日期:2015-11-17 14:19:55白银圣斗士
日期:2015-11-17 15:13:0815-16赛季CBA联赛之新疆
日期:2016-04-01 09:10:58
发表于 2013-12-11 22:33 |显示全部楼层
回复 1# stanley_tam

C:\Python33\Lib\site-packages\openpyxl-1.6.2-py3.3.egg 实际上是 zip 文件。
Python使用 zlib 来对 .egg (实际上的 zip ) 文件进行类似于基于路径的包管理。

所以,你可以:
1. 把 egg 改扩展名为 zip
2. 解压看下里面有没有所需要的模块、文件名

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
发表于 2013-12-12 22:53 |显示全部楼层
谢谢大神帮忙,把egg文件解压缩。问题即解决。
回复 4# icymirror


   

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
发表于 2013-12-12 22:53 |显示全部楼层
谢谢,有时间试试回复 3# lvxinzhi


   

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
发表于 2013-12-12 22:55 |显示全部楼层
谢谢回复,问题已解决回复 2# remyzane


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时8.5折

【架构革新 高效可控】2020年8月17日~19日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP