2014-01-16 3 views
0

У меня есть установка Pyinstaller (автоматическая разработка и упаковка), которая в настоящее время работает на ubuntu, windows и MacOS. Я сейчас пытаюсь заставить его работать в Raspberry Pi (с raspbian установлены) за то, что я должен был построить загрузчик, как указано в documentationPyInstaller NameError, не обнаруживая упакованный модуль

, приложением я комплектация состоит в точке входа, что импорт необходимого модули (остальные приложения и внешние зависимости) и вызывает основной цикл.

Базовая структура что-то вроде этого:

+-- main.py 
+-+ my_module 
    |--+ other.py 
    |--+ more_files.py 

main.py импортирует внешние зависимости и my_module пакета правильно сгенерированный, но когда я EXEC генерируюсь двоичным он выдает ошибку:

Traceback (most recent call last): 
    File "<string>", line 43, in <module> 
NameError: name 'my_module' is not defined 

Но если я перейду в каталог pyinstaller dist/my_app, я вижу его там, и если я запускаю консоль python там, я могу сделать:

from my_module import other 
other.main() 

И работает отлично, поэтому кажется, что в двоичном коде отсутствует какая-то информация PYTHON_PATH или что-то в этом роде.

Примечание:

  • my_module импорт последняя в main.py, кажется, не имеют проблем импортирующие модули, полученные из сайта-пакетов брошенные
  • же ошибки либо если упаковать его - OneFile, --onedir или ни
  • же конфигурационный скрипт генерирует рабочие пакеты в остальных платформах

ответ

0

Я нашел проблему, импорт в main.py WHe re под попыткой. Либо поставив их за пределы попытки или добавив их, так как скрытый импорт в spec-файле решает проблему. Я не знаю, что мне нужно сделать это для rpi, а не для остальных платформ.

Смежные вопросы