【发布时间】:2021-08-19 23:01:28
【问题描述】:
我正在编写一个依赖于许多大型数据文件的 python 包。这些文件不包含在软件包中。相反,用户需要将这些文件保存在磁盘上(使用任意路径)。让我的包知道这些文件的位置的最佳方法是什么?
我一直在阅读有关 setup.py 和 setup.cfg 的信息,但我仍然不知道该怎么做。在我看来,setup.cfg 中的用户可编辑选项将是一个不错的选择,但我不知道是否可以,是否可以完成,或者如果可以,我会怎么做......
我确实看到了这个几乎相同的问题,Python Packaging: Ask user for variable values when (pip) installing,它侧重于 pip 期间的用户输入(这在 cmets 中是不鼓励的)。 如果这确实是一个很好的解决方案,我也对如何做到这一点感兴趣。
在我私下开发的包中,我使用了模块常量,如
DEFAULT_PATH_FILE1 = "my/path/to/file1.csv"
DEFAULT_PATH_FILE2 = "my/path/to/file2.csv"
等等。以及使用这些常量初始化的属性。这似乎根本不适合分发。
【问题讨论】:
-
对上下文很重要,你的包是否提供命令行界面?
-
不,这不是本意。它(主要)定义了一个便于跨不同数据文件进行数据分析的类。预期用途是随意导入和使用这个类。