有没有办法在构建 PEX 时包含额外的文件(即 MANIFEST.in)?
Is there a way to include extra files when building a PEX (i.e. with MANIFEST.in)?
我有一个类似于下面的目录结构:
├── 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
下面的 post 暗示可以使用 MANIFEST.in
与 PEX (Python PEX: Pack a package with its sub-packages) 但是当我 运行 pex . -o myproject
或 python setup.py bdist_pex
不包括 html/
目录,通过 unzip -Z1 myproject
在结果输出中验证,但在 运行ning python setup.py sdist
.
时包含
如何在构建 PEX 二进制文件时包含这些额外的 html 文件?
仅定义 MANIFEST.in
是不够的。您还需要在 setup.cfg
.
中将 include_package_data
选项设置为 True
此选项将包括在包中找到的额外文件,因此您还必须将 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
我有一个类似于下面的目录结构:
├── 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
下面的 post 暗示可以使用 MANIFEST.in
与 PEX (Python PEX: Pack a package with its sub-packages) 但是当我 运行 pex . -o myproject
或 python setup.py bdist_pex
不包括 html/
目录,通过 unzip -Z1 myproject
在结果输出中验证,但在 运行ning python setup.py sdist
.
如何在构建 PEX 二进制文件时包含这些额外的 html 文件?
仅定义 MANIFEST.in
是不够的。您还需要在 setup.cfg
.
include_package_data
选项设置为 True
此选项将包括在包中找到的额外文件,因此您还必须将 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