【发布时间】:2020-03-18 16:30:14
【问题描述】:
我有一个使用 python 脚本和 Makefile 的存储库。我想要一个设置程序 允许他们轻松设置环境并从我们的服务器复制必要的数据文件。
在 Makefile 中包含源数据文件的问题是公司服务器使用 驱动器名称中的空格,make 不太喜欢,所以我可以将这些文件列为依赖项 用于目标输出文件。
我目前的 Makefile 基本上只做以下几件事:
.PHONY : all
all : output.csv
.PHONY : copy_data_to_local_folder
copy_data_to_local_folder :
python copyfile.py "V:\\Server Path\\With Spaces\\Inputs 1.csv" local/inputs1.csv
python copyfile.py "V:\\Server Path\\With Spaces\\Inputs 2.csv" local/inputs2.csv
output.csv : combine_data.R local/inputs1.csv local/inputs2.csv
Rscript $^ $@
copy_data_to_local_folder 部分只是为了获取数据到本地目录,但不包括在内
在 DAG 中导致产生output.csv(即all : output.csv copy_data_to_local_folder)或其他
目标每次都需要运行。
我的解决方案想法如下,但我不确定最佳做法是什么:
使用不同的制作工具。我可以在 Python 中使用
Luigi或在 R 中使用Drake,但我更愿意保留 该工具更加通用。运行安装脚本以复制文件。我认为有一种方法可以运行文件复制脚本 作为环境设置的一部分,但我不熟悉如何执行此操作。
我不确定执行此操作的最佳方法。我希望能够与同事共享代码并拥有他们 能够在他们的系统上启动并运行,而无需进行过多的配置。有没有最好的 这种情况要练习吗?
【问题讨论】:
标签: python python-3.x makefile data-science gnu-make