【发布时间】:2021-01-15 21:44:03
【问题描述】:
我的目录结构如下。
.
├── package
├── app
│ ├── __init__.py
│ ├── file1.py
│ └── file2.py
├── master_sql_folder
│ │
│ │──sql_folder_1
│ │ ├── world.sql
│ │ ├── earth.sql
│ │
│ └──sql_folder_2
│ ├── planet.sql
│ ├── sun.sql
│
└── wrapper_scripts
│ ├── wrapper.py
│ └── __init__.py
├── setup.py
我试图将 master_sql_folder(world.sql、earth.sql、planet.sql、sun.sql)的子文件夹中存在的所有 sql 文件包含到 setuptools 中,同时打包为 egg,我无法在其中使用 sql_folder_1 和 sql_folder_2将来可以在 master_sql_folder 下添加新文件夹的路径,我也需要代码来读取它们。我尝试将以下几行添加到我的 setup.py 中,但它不包括构建中的 sql 文件。
package_data={'master_sql_folder':['*']}
packages=['app', 'wrapper_scripts']
提前感谢您的帮助。
【问题讨论】:
-
this question 的可能重复项。
-
提到的链接确实帮助我使用这个 data_files=[('master_sql_folder/sql_folder_1', ['master_sql_folder/sql_folder_1/world.sql'])] 并且这个工作但我不能在路径,有没有一种方法可以从所有子文件夹中选择文件,例如 data_files=[('master_sql_folder', ['master_sql_folder/*/*.sql'])]。它导致错误:无法复制'master_sql_folder**.sql':不存在或不是常规文件
-
如果我没记错的话,每个文件都必须单独命名。或者,编写一个函数来收集文件并为您构建文件列表。
-
感谢@S3DEV 的宝贵建议。
标签: python