2016-10-22 6 views
0

Я пытаюсь создать клиента IRC, используя библиотеку irclib. Когда я пытаюсь заморозить сценарий с помощью 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», добавьте файл«INIT .py». Он может быть пустым. Почему это не предусмотрено, я понятия не имею. Пакет без «init .py», для cxFreeze, не является пакетом.
  2. Повторно запустите сценарий «setup.py». Не включайте «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': {'packages': ["irc"]}}, 
    executables = [client], 
) 

Я обеспечиваю этот ответ, потому что он работал нормально с витыми и синец Увидев моего клиента. использует теперь скрученные для своей IRC-связи, я не знаю, работают ли приведенные ниже шаги, но это помогло мне перекрутить.

HTH,