我有一个python包,里面有各种其他语言的脚本。Setuptools已经支持将这些脚本复制到环境的scripts
目录中,以便从命令行访问它们。为此,我可以简单地在setup命令中使用以下关键字:
setup(
...
scripts=["bin/script1.bat", "bin/script2.bat"],
...
)
安装包后,脚本文件将正确地结束在环境的scripts
文件夹中。
我的问题:是否有办法让这些文件在scripts
目录的子文件夹结束?比如scripts/odd_scripts/script1.bat
和scripts/even_scripts/script2.bat
。
由于它们不是Python脚本,因此您不需要scripts
的主要特性(即:重写shebang以指向与用于安装包的Python运行时相同的可执行文件)。
在这种情况下,您可以将它们打包为data_files
,原始的可执行位和shebangs将被保留:
from setuptools import setup
setup(
...
data_files=[('bin/odd_scripts', ['bin/script1.bat']),
('bin/even_scripts', ['bin/script2.bat'])],
...
)