0

我有一个类似于以下的目录结构:

├── myproj
│   ├── utils.py
│   ├── __init__.py
│   ├── routes
│   │   ├── __init__.py
│   │   ├── auth.py
│   │   └── stuff.py
├── html
│   ├── index.html
│   └── about.html
├── MANIFEST.in
├── setup.cfg 
└── setup.py

MANIFEST.in 的内容是:

graft html

以下帖子暗示能够MANIFEST.in与 PEX 一起使用(Python PEX:Pack a package with its sub-packages),但是当我运行其中一个pex . -o myprojectpython setup.py bdist_pexhtml/包含目录时,通过unzip -Z1 myproject结果输出进行验证,但在运行时包含它python setup.py sdist

在构建 PEX 二进制文件时,如何包含这些额外的 html 文件?

4

1 回答 1

0

单独定义一个MANIFEST.in是不够的。您还需要将include_package_data选项设置为Truein setup.cfg

此选项将包括在包中找到的额外文件,因此您还必须移动包html内的目录myproj

所以目录结构如下:

├── myproj
│   ├── utils.py
│   ├── __init__.py
│   ├── routes
│   │   ├── __init__.py
│   │   ├── auth.py
│   │   └── stuff.py
│   ├── html
│   │   ├── index.html
│   │   └── about.html
├── MANIFEST.in
├── setup.cfg 
└── setup.py

MANIFEST.in 的内容是:

graft myproj/html

setup.cfg 包含在该[options]部分中:

include_package_data = True
于 2021-12-27T19:34:20.600 回答