Setup.py - 在 setuptools 包内添加数据文件
Setup.py - Add data files inside package in setuptools
各位!跳到我的问题,我有这个文件结构,在 Python 3.7:
mypackage/
|- config/
|---- config.json
|- mypackage/
|---- __init__.py
|---- main.py
|- docs/
|---- __init__.py
|---- doc_folder/
|--------- text_file.txt
|- setup.py
|- MANIFEST.in
我的 setup.py 正在使用 setuptools 并且具有以下相关性:
setup(
name='mypackage',
version='1.0',
packages=find_packages(),
include_package_data=True
)
我的 MANIFEST.in 有:
recursive-include config *
recursive-include docs *
当我 运行 pip install .
或 python setup.py sdist & pip install dist/mypackage-1.0
时,同样的事情发生了:
- 构建分发时,日志显示
docs
和 config
都被复制到 mypackage-1.0
;
- 安装后找不到
config
;
- 安装后,
docs
位于站点包文件夹 (site-packages/docs
)。
- 如果我将 __init__.py 添加到
config
,它也会出现在站点包文件夹中。
我的 objective 将在 mypackage
目录中包含 docs
和 config
,因为我担心如果我使用配置文件夹 pip 安装不同的项目,它们会相互覆盖。我认为进行相对导入也会更有用。
大家怎么看?
将 config
和 doc
目录移动到 mypackage
下(实际上是一个包,包含 __init__.py
)应该可以解决这个问题。问题中更改的目录结构:
mypackage/
├── <b>mypackage/</b>
│ ├── __init__.py
| ├── <b>config/</b>
| | └── config.json
| ├── <b>docs/</b>
| | ├── __init__.py
| | └── doc_folder/
| | └── text_file.txt
| └── main.py
├── setup.py
└── MANIFEST.in
各位!跳到我的问题,我有这个文件结构,在 Python 3.7:
mypackage/
|- config/
|---- config.json
|- mypackage/
|---- __init__.py
|---- main.py
|- docs/
|---- __init__.py
|---- doc_folder/
|--------- text_file.txt
|- setup.py
|- MANIFEST.in
我的 setup.py 正在使用 setuptools 并且具有以下相关性:
setup(
name='mypackage',
version='1.0',
packages=find_packages(),
include_package_data=True
)
我的 MANIFEST.in 有:
recursive-include config *
recursive-include docs *
当我 运行 pip install .
或 python setup.py sdist & pip install dist/mypackage-1.0
时,同样的事情发生了:
- 构建分发时,日志显示
docs
和config
都被复制到mypackage-1.0
; - 安装后找不到
config
; - 安装后,
docs
位于站点包文件夹 (site-packages/docs
)。 - 如果我将 __init__.py 添加到
config
,它也会出现在站点包文件夹中。 我的 objective 将在mypackage
目录中包含docs
和config
,因为我担心如果我使用配置文件夹 pip 安装不同的项目,它们会相互覆盖。我认为进行相对导入也会更有用。
大家怎么看?
将 config
和 doc
目录移动到 mypackage
下(实际上是一个包,包含 __init__.py
)应该可以解决这个问题。问题中更改的目录结构:
mypackage/
├── <b>mypackage/</b>
│ ├── __init__.py
| ├── <b>config/</b>
| | └── config.json
| ├── <b>docs/</b>
| | ├── __init__.py
| | └── doc_folder/
| | └── text_file.txt
| └── main.py
├── setup.py
└── MANIFEST.in