为了账号安全,请及时绑定邮箱和手机立即绑定

setup.py - 在 setuptools 中的包内添加数据文件

setup.py - 在 setuptools 中的包内添加数据文件

拉丁的传说 2023-06-27 14:35:52
每个人!跳到我的问题,我在 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,它也会出现在 site-packages 文件夹中。我的目标是在目录中包含docs和,因为我担心如果我使用配置文件夹安装不同的项目,它们将相互覆盖。我认为进行相对导入也会更有用。configmypackage你们有什么感想?
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

将config和docdirs移到mypackage(实际上是一个包,包含一个__init__.py)应该可以解决问题。问题中更改的目录结构:


mypackage/

├── mypackage/

│   ├── __init__.py

|   ├── config/

|   |   └── config.json

|   ├── docs/

|   |   ├── __init__.py

|   |   └── doc_folder/

|   |       └── text_file.txt

|   └── main.py

├── setup.py

└── MANIFEST.in


查看完整回答
反对 回复 2023-06-27
  • 1 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信