2016-10-22 77 views
0

我想创建一个使用irclib库的IRC客户端。当我尝试使用冻结的cxFreeze脚本,但是,我总是碰到这个错误:cxFreeze和Jaraco:ImportError

Traceback (most recent call last): 
    File "C:\python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module> 
    exec(code, m.__dict__) 
    File "client.py", line 38, in <module> 
ImportError: No module named jaraco 

的setup.py脚本已被多次修改,尝试包括文件,包裹等。似乎没有任何工作。下面是最新版本以供参考:

from cx_Freeze import setup, Executable 

client = Executable(
    script="client.py", 
    base="Win32GUI", 
) 

setup(
    name = "client", 
    version = "0.2", 
    description = "client", 
    options = {'build_exe': {'includes': ["jaraco"], "packages": ["jaraco"]}}, 
    executables = [client], 
) 

客户端的脚本可以在一个单一的线被缩短:

from irc import client 

这就是全部。我没有使用Jaraco,irclib(package irc)是。 Jaraco必须作为irclib的依赖来安装。

我试图找到它可能发生的原因,但到目前为止,没有发现任何东西。

感谢您的帮助!

+0

你能提供脚本client.py吗?你正在使用的这个jaraco的版本是什么? –

+0

@Tuininga:我只导入irc(我编辑过这篇文章)。我不使用Jaraco,但是irclib。我想它在安装irclib时被视为依赖项。 –

回答

0

那么,经过一番挖掘,看起来与zope存在相同的问题,当冻结与扭曲的应用程序。虽然我没有用jaraco测试过,但我会想象它是同样的问题。我希望这个解决方案适用于坚持同样的问题用户:

  1. 你在“站点包”目录,在“jaraco”包,添加“初始化的.py”的文件。它可以是空的。为什么不提供,我不知道。对于cxFreeze,没有'init .py“的软件包不是一个软件包
  2. 重新运行'setup.py'脚本不要将'jaraco'作为软件包提供,需要它(在这里,这将是“IRC”)

下面是setup.py脚本:

from cx_Freeze import setup, Executable 

client = Executable(
    script="client.py", 
    base="Win32GUI", 
) 

setup(
    name = "client", 
    version = "0.2", 
    description = "client", 
    options = {'build_exe': {'packages': ["irc"]}}, 
    executables = [client], 
) 

我提供这个答案,因为它的工作只是罚款扭曲和Zope的看到我的客户。现在使用扭曲它的IRC通信,我不知道下面提供的步骤是否工作,但这正是帮助我扭曲。

HTH,

相关问题