ImportError:没有名为texttable的模块(igraph,py2exe,cx freeze / gui2exe)

时间:2013-02-15 13:00:23

标签: module py2exe igraph cx-freeze gui2exe

我花了两天时间试图解决这个问题而且我无处可去。

我尝试从我的python脚本中获取可执行文件。

脚本正在运行,没有任何问题。我使用igraph构建图形,这是我最喜欢的任务选择。

编译我的脚本后,我得到了预期的结果(带有我的exe及其中的东西的dist文件夹)

当我尝试运行exe时,我收到了这个恼人的错误消息:

 File "igraph\__init__.pyc", line 36, in <module>
 File "igraph\clustering.pyc", line 38, in <module>
 File "igraph\summary.pyc", line 36, in <module>
 File "igraph\vendor\__init__.pyc", line 33, in vendor_import
ImportError: No module named texttable

我检查了许多与ImportError相关的线程。我进入了包含texttable和IT'S THERE的文件夹!它不会错过!我尝试过改变路径,但仍然没有成功。

在我的脚本开头我有:

import re
import os
import csv
import math
from igraph import *
import thread
import unicodedata
from time import sleep
import wx.grid as gridlib
import sys
import Tkinter
from Tkinter import *

我试过了from igraph import Graph,但它仍然会寻找那个TEXTTABLE。

我已经尝试过使用py2exe,cx freeze以及他们GUI2exe的优秀Gui界面。没运气。无论我尝试什么相同的错误

如果解决方案很明显,我很抱歉。我不是专业人士。任何帮助深表感谢!

1 个答案:

答案 0 :(得分:4)

igraph动态导入texttable,因此冻结工具不知道他们需要复制模块。

在cx_Freeze中,您可以将igraph.vendor添加到“包”(see the docs)以强制它复制该包中的所有内容。 py2exe可能有类似的选项。

或者,如果您将import igraph.vendor.texttable放在代码中的某个位置,那么冻结工具会选择它并知道包含它。