PyInstaller 2.1导入自定义包

时间:2014-02-04 15:09:07

标签: python hook pyinstaller

我有一个脚本,我正在尝试使用Python 2.7

使用PyInstaller(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)?

我尝试在spec文件中将包的路径添加到'pathex',但它不起作用。

1 个答案:

答案 0 :(得分:6)

使用" -p"在编译时(或在构建spec文件时)将添加到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