【发布时间】:2020-04-26 10:08:22
【问题描述】:
所以这是另一个与setuptools: adding additional files outside package 和Including non-Python files with setup.py 相似但不同的问题。我的结构与第一个问题非常相似
-module
-python_file1.py
-python_file2.py
-folder
-subfolder1
-data_file_1.txt
-subfolder2
-data_file_2.txt
我想要什么:我想安装软件包以及其中的文件夹、子文件夹和文件。
我尝试了什么:
- Approach_1:如果我将文件夹移动到模块内,那么我可以轻松地使用
package_data选项,例如
package_data = {'':['folder/**/*']} 但这将迫使我将结构更改为更混乱的结构。想象一下,我有 10-15 个子文件夹。
- Approach_2:通过使用
data_files选项,我可以列出所有文件,包括文件夹/子文件夹和文件,只需使用glob.glob('my_repo')扫描整个 repo,但因为我无法控制(或者我可能不知道一)目标目录取决于不同的操作系统,所以我无法将文件移动到正确的目标目录中。
我正在为这两种方法寻找一个优雅的解决方案。示例 setup.py 文件仅供参考:
from setuptools import setup, find_packages
setup(
name='your_project_name',
version='0.1',
description='A description.',
packages=find_packages(),
package_data={'': ['folders/**/*'},
include_package_data=True,
install_requires=[],
)
【问题讨论】:
-
解决了没有?
标签: python-3.x pip setuptools setup.py python-packaging