ImportError: Няма модул с име typedefs

Опитвам се да създам самостоятелна програма с помощта на pyinstaller. В този процес срещам следното съобщение за грешка:

`Traceback (most recent call last):
File "<string>", line 13, in <module>
File "/opt/local/anaconda/lib/python2.7/site-packages/PyInstaller/loader/pyi_importers.py", line 270, in load_module
    exec(bytecode, module.__dict__)
File "/home/russellb/pyFiles/dist/build/tt/out00-PYZ.pyz/sklearn.neighbors", line 6, in <module>
File "/opt/local/anaconda/lib/python2.7/site-packages/PyInstaller/loader/pyi_importers.py", line 409, in load_module
    module = imp.load_module(fullname, fp, filename, self._c_ext_tuple)
File "dist_metrics.pxd", line 48, in init sklearn.neighbors.ball_tree (sklearn/neighbors/ball_tree.c:34295)
File "/opt/local/anaconda/lib/python2.7/site-packages/PyInstaller/loader/pyi_importers.py", line 409, in load_module
    module = imp.load_module(fullname, fp, filename, self._c_ext_tuple)
File "dist_metrics.pyx", line 52, in init sklearn.neighbors.dist_metrics (sklearn/neighbors/dist_metrics.c:25494)
  ImportError: No module named typedefs`

Някакви предположения?

Като последващи действия:

Успях да импортирам typedef и се отървах от горния проблем. Сега срещам следното съобщение за грешка по време на изпълнение.

Traceback (most recent call last): File "<string>", line 14, in <module> File "/opt/local/anaconda/lib/python2.7/site-packages/PyInstaller/loader/pyi_importers.py", line 270, in load_module exec(bytecode, module.__dict__) File "/home/russellb/pyFiles/dist/build/tt/out00-PYZ.pyz/sklearn.linear_model", line 21, in <module> File "/opt/local/anaconda/lib/python2.7/site-packages/PyInstaller/loader/pyi_importers.py", line 409, in load_module module = imp.load_module(fullname, fp, filename, self._c_ext_tuple) File "weight_vector.pxd", line 10, in init sklearn.linear_model.sgd_fast (sklearn/linear_model/sgd_fast.c:9464) ImportError: No module named weight_vector

Въпреки това не можах да намеря нито един модул с име weight_vector в йерархията на директорията на sklearn в това посочено място.

Някакви прозрения и предложения?

Много благодаря,


person Bussller    schedule 12.03.2015    source източник
comment
Вашето проследяване е нечетливо, има ли причина да отмените редакцията?   -  person zehnpaard    schedule 12.03.2015
comment
искрено, не знам как да го редактирам, така че да се чете. Извинения   -  person Bussller    schedule 12.03.2015
comment
Тази грешка се генерира, когато се опитах да стартирам генерирания изпълним файл. pyinstaller генерира изпълнимия файл без никакви проблеми, с изключение на няколко предупреждения като повторно изграждане на out00-PKG.toc, защото липсваше   -  person Bussller    schedule 12.03.2015
comment
Това ли е цялото проследяване? Изглежда, че може да липсва последният ред   -  person zehnpaard    schedule 12.03.2015
comment
@zehnpaard: Сега това е цялото проследяване. Последният ред беше този, който липсваше. Благодаря ти :)   -  person Bussller    schedule 12.03.2015
comment
@Зулу: Благодаря ви за любезните усилия. Надявам се, че е кодов фрагмент, а не кодова проба. Чувствайте се свободни да ме поправите, ако греша.   -  person Bussller    schedule 12.03.2015
comment
Разгледайте тази публикация на SO и Документи на PyInstaller   -  person zehnpaard    schedule 13.03.2015
comment
Благодаря ти @zehnpad. Нека да опитам и да публикувам резултатите.   -  person Bussller    schedule 13.03.2015
comment
@zehnpaard: Благодаря ви, връзката съдържа уликата за този проблем и проблема е решен   -  person Bussller    schedule 10.03.2016


Отговори (2)


Можете да добавите --hidden-import=modulename към вашия скрипт на pyinstaller. Той ще импортира този модул и ще се обвърже.

person Yogesh    schedule 17.01.2017
comment
Това помогна! SkLearn причини 3 липсващи модула в моето базирано на Keras приложение. Предоставянето им на всички изрично реши проблема: pyinstaller -y --hidden-import sklearn.neighbors.typedefs --hidden-import sklearn.neighbors.quad_tree --hidden-import sklearn.tree._utils ‹myapp.py› - person Valentin Heinitz; 12.08.2019

Използвах инструмента auto-py-to-exe. Това е gui инструмент, който извиква вътрешно pyinstaller. В разширените опции добавих към --hidden-import всички липсващи модули. В командния ред видях всички модули като параметри:

--hidden-import sklearn.neighbors.typedefs --hidden-import sklearn.neighbors.quad_tree --hidden-import sklearn.tree._utils

въведете описание на изображението тук

person Valentin Heinitz    schedule 12.08.2019