2016-10-22 20 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,

相關問題