使用setuptools部署时是否可以创建新的目录结构? 在我的setup.py文件中,它反映了我目前的结构
package_dir = {"": "."},
packages = ["",],
package_data = {"": ["ItemA/*.py",
"ItemB/*.py",
"ItemC/*.py",
"Master.foo",
] },
我无法更改原始结构,但我想部署在部署所有内容之前添加两个级别的文件夹。
./
Folder1/Folder2/
/ItemA/ *.py
/ItemB/ *.py
/ItemC/ *.py
Master.foo
答案 0 :(得分:0)
我可以使用@pacholik建议的data_files来做我想要的。我把包装里的文件拿了两次,但这对我试图做的事情没问题。
在我的安装电话之前,我这样做:
stuff = []
for f in glob.glob("*/*.py"):
stuff.append((os.path.join("Folder1/Folder2", os.path.dirname(f)), [os.path.join(os.path.dirname(f),os.path.basename(f))] ))
stuff.append( ('esri/toolboxes', ["Master.foo"]))
然后只需指定data_files = stuff,
stuff =
[('Folder1/Folder2\\ItemA', ['ItemA\\x.py']), ('Folder1/Folder2\\ItemB', ['ItemB\\y.py']), ('Folder1/Folder2\\ItemC', ['ItemC\\z.py']), ('Folder1/Folder2', ['Master.foo'])]