2013-05-12 10 views
1

Я использовал pyquery в моем приложении, когда я бегу main.exe в DIST каталоге, встретилась ошибка:py2exe ImportError: Нет модуль с именем cssselect

Traceback (most recent call last): 
    File "main.py", line 4, in <module> 
    File "zipextimporter.pyo", line 82, in load_module 
    File "f2.pyo", line 4, in <module> 
    File "zipextimporter.pyo", line 82, in load_module 
    File "pyquery\__init__.pyo", line 11, in <module> 
    File "zipextimporter.pyo", line 82, in load_module 
    File "pyquery\pyquery.pyo", line 6, in <module> 
    File "zipextimporter.pyo", line 82, in load_module 
    File "pyquery\cssselectpatch.pyo", line 6, in <module> 
ImportError: No module named cssselect 

Но как вы можете видеть, pyquery использует cssselectpatch не cssselect , как это исправить?

+0

Пожалуйста, напишите свой 'setup.py'. 'cssselectpatch' пытается импортировать' cssselect', но не может его найти. –

+0

# - * - кодирование: UTF-8 - * - из distutils.core настройки импорта импорта py2exe # Работает на *** ВКЛЮЧЕНО = [] опции = { "py2exe": { "сжатая": 1, «оптимизировать»: 2, «bundle_files»: 2, «включает»: [«pyquery»], «dll_excludes»: [«MSVCP90.dll», «mswsock.dll», «powrprof.dll», "w9xpopen.exe"]}} установки ( опции = опции, описание = "鬼谷 子", ZipFile = None, консоль = [{ "сценарий": "main.py"}], ) – lhdgriver

+0

Дон» t опубликуйте это как комментарий, нас e вместо кнопки редактирования в левом нижнем углу вашего вопроса. – thegrinner

ответ

0
  1. Убедитесь, что вы можете запустить программу без py2exe, то есть в качестве сценария Python с python main.py.
  2. Использование py2exe.
  3. Если вы все еще получаете ошибку, добавьте import cssselect в main.py и попробуйте использовать py2exe еще раз.
0

У меня такая же проблема с cssselect, но до этого это было с html5lib, что я сделал, чтобы решить эту проблему было установить html5lib вручную например: питон setup.py установить и каталог был создан и ошибка в отношении html5lib не показывалась, затем появилась ошибка с cssselect, Я сделал то же самое, но установщик создает файл с яйцом, а не каталог со всей структурой внутри, потому что py2exe импортирует библиотеки только с помощью структуры каталогов двоичный файл не работает.

Чтобы решить эту проблему, мы должны установить cssselect в структуре дерева: скачать cssselect из GitHub, распаковывать и скопировать реж cssselect, который находится внутри cssselect-мастер своего питона сайта-пакеты.

0

В Windows (сходство может применяться к Linux) вы можете просто установить его, и установщик найдет ваш локальный установленный python, чтобы добавить модуль cssselect. Источник информации, взятый из https://pypi.python.org/pypi/cssselect.

Вот как:

пип установить cssselect

Теперь ваш питон не будет жаловаться на модуль csselect отсутствует.

Если у вас нет команды pip, тогда установите pip.

Протестировано, работает!