FileNotFoundError:[Errno 2]没有这样的文件或目录:.constants.json

时间:2016-03-18 04:44:26

标签: python pyinstaller openpyxl

我使用openpyxl编写了一个涉及excel表操作的python脚本。脚本使用python解释器正常运行。一旦我使用pyinstaller使单个窗口可执行并运行程序,它就会抛出错误:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\....\\AppData\\Local\\Temp\\_MEI31842\\.constants.json'

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您可能需要告诉PyInstaller包含此文件:

将文件hook-openpyxl.py放在运行pyinstaller的目录中:

# hook-openpyxl.py

from PyInstaller.utils.hooks import collect_data_files

datas = collect_data_files('openpyxl')

然后运行pyinstaller:

pyinstaller --additional-hooks-dir=. yourscriptname.py

答案 1 :(得分:0)

我正在使用Openpyxl版本2.5.12 Python 3.7 和Pyinstaller 3.4版

我能够正确编译该exe。 我使用的命令如下:

// the controller
public class IndexController {
    ...
    public ResponseEntity<Void> postIndexes(@ApiParam(value = INDEXES_DESC, required = true) @Valid @RequestBody @Size(min = 1, max = 2000) List<Index> indexes) {
        ...
    }
    ...
}

// the Index class
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Index implements Serializable {
    @ApiModelProperty(value = ID_DESC, example = SINGLE_ID)
    @NotNull
    private UUID                id;
    ...
}

// the input JSON request body
[
    {
        ...
        "id": "40336c2b-591a-4472-a270-111111A46339",
        ...
    }
]