setuptools 数据位于工具文件夹上方的文件夹中
setuptools with data in a folder above the tool folder
我有一个支持 2 种语言的工具箱,所以结构如下:
tool
| Python
| setup.py
| MATLAB
| Common
| some_data.ext
现在,some_data.ext
还不够小,无法考虑拥有 2 个副本,因此它位于 Common 文件夹中,两种语言都可以在其中读取它。但是虽然 MATLAB 没有安装过程,但 python 有,因此当从文件中读取数据时,我丢失了它的路径(即我无法打开 ./../../Common/some_data.ext
因为在 python安装相对路径不行)。
我读到您可以使用 setuptools 的 datafiles
部分来添加此数据,但这似乎只有在数据位于 Python 包内的文件夹内时才有效,而不是某个文件夹内“在”它上面。
我可以用设置工具来做吗?如果是这样,如何?如果没有,还有其他选择吗?
最简单的方法是给出相对路径,但要提供放置位置:
data_files=[('data', ['../Common/some_data.ext'])],
我有一个支持 2 种语言的工具箱,所以结构如下:
tool
| Python
| setup.py
| MATLAB
| Common
| some_data.ext
现在,some_data.ext
还不够小,无法考虑拥有 2 个副本,因此它位于 Common 文件夹中,两种语言都可以在其中读取它。但是虽然 MATLAB 没有安装过程,但 python 有,因此当从文件中读取数据时,我丢失了它的路径(即我无法打开 ./../../Common/some_data.ext
因为在 python安装相对路径不行)。
我读到您可以使用 setuptools 的 datafiles
部分来添加此数据,但这似乎只有在数据位于 Python 包内的文件夹内时才有效,而不是某个文件夹内“在”它上面。
我可以用设置工具来做吗?如果是这样,如何?如果没有,还有其他选择吗?
最简单的方法是给出相对路径,但要提供放置位置:
data_files=[('data', ['../Common/some_data.ext'])],