У меня есть скрипт сборки для одного из моих установленных приложений Python, в котором используется Pyinstaller. Этот скрипт работает отлично уже более года. Тогда сегодня, я добавил к одному из исходных файлов для этого приложения линииПри попытке создать исполняемый файл Python с помощью Pyinstaller не удается найти существующий модуль scipy
import scipy.stats
, потому что я хочу использовать scipy.stats.linregress. Теперь это приводит к тому, сценарий сборки к аварийному с TRACEBACK долго ошибок (по-видимому, возвращаясь через последовательность модулей, которые импортируют друг от друга) заканчивая
File "C:\Users\462974\Documents\Local Sandbox\fof\TRUNK\programs\CDFParsing\build\pyi.win32\CDFGUI\outPYZ1.pyz/scipy.sparse.csgraph", line 148, in <module>
File "C:\Python27\pyinstaller-1.5\iu.py", line 436, in importHook
mod = _self_doimport(nm, ctx, fqname)
File "C:\Python27\pyinstaller-1.5\iu.py", line 495, in doimport
mod = importfunc(nm)
File "C:\Python27\pyinstaller-1.5\iu.py", line 297, in getmod
mod = owner.getmod(nm)
File "C:\Python27\pyinstaller-1.5\archive.py", line 468, in getmod
return iu.DirOwner.getmod(self, self.prefix+'.'+nm)
File "C:\Python27\pyinstaller-1.5\iu.py", line 109, in getmod
mod = imp.load_module(nm, fp, attempt, (ext, mode, typ))
File "_shortest_path.pyx", line 18, in init scipy.sparse.csgraph._shortest_path (scipy\sparse\csgraph\_shortest_path.c:14224)
File "C:\Python27\pyinstaller-1.5\iu.py", line 455, in importHook
raise ImportError, "No module named %s" % fqname
ImportError: No module named scipy.sparse.csgraph._validation
Это озадачивает, потому что модуль находится в C: \ python27 \ Lib \ site-packages \ scipy \ sparse \ csgraph_validation.py очень много. Почему добавление scipy в мою сборку нарушает его (импорт numpy работает просто отлично), может ли он не найти его?
Я не совсем уверен, но только убедитесь, что ваш сайт-пакеты \ SciPy имеет '__init__. py' в каждом пакете. Кроме этого, если он находится в ваших пакетах сайтов, он действительно должен его найти. – Shashank
В каталогах scipy, sparse и csgraph есть файлы __init__.py. – dpitch40