2014-02-04 5 views
4

У меня есть сценарий, который я пытаюсь скомпилировать с PyInstaller (2.1) с использованием Python 2.7PyInstaller 2,1 импорт пользовательский пакет

Скрипт использует пользовательский пакет я написал под названием «auto_common»

В сценарий я импортировать его с помощью

sys.path.append(path_to_package) 

папки проекта выглядит следующим образом:

Automation/     Top level project 
    Proj1/ 
     script1.py   This is the script I want to compile 
     myspec.spec   Spec file for the script 
    Packages/ 
     auto_common/ 
      __init__.py  Init module of the package (empty) 
      ...    More modules here 

В файле журнала PyInstaller я получаю следующее предупреждение:

W: no module named auto_common (top-level import by __main__) 

Как создать крюк, который будет включать в себя пакет (используя sys.path.append, например)?

Я попытался добавить путь пакета к 'pathex' в spec-файле, но он не сработал.

ответ

4

Использование «-p» при компиляции (или при создании файла спецификации) добавит дополнительные пути к пути python.

pyinstaller -p any_path/Automation/Packages script1.py 

Этот код отражает поведение sys.path.append().

Благодаря ребятам в PyInstaller для решения:

sys.path.append does not work when compiling with PyInstaller 2.1

+0

ли также можно удалить путь от пути питона? – LLaP

+0

@LLaP Да, вы можете. Вы можете прочитать здесь: http://stackoverflow.com/questions/4890159/python-excluding-modules-pyinstaller/17595149#17595149 – Nir

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