Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python打包:安装期间在homedir中创建目录_Python_Python Packaging - Fatal编程技术网

Python打包:安装期间在homedir中创建目录

Python打包:安装期间在homedir中创建目录,python,python-packaging,Python,Python Packaging,我正在创建一个Python包,其功能包括在数据库中记录某些操作。因此,我希望将数据库存储在一个位置,例如~/.package name/database.sqlite。此外,~/.package name可以是保存配置文件的目录 这样做的最佳实践是什么?我正在使用setuptools处理软件包安装。我设想,在我的一个模块中,我会有代码来检查数据库文件和配置文件的存在,并在必要时创建它们 在阅读报告时,它指出 实际上,您不能将数据文件安装到用户机器上的任意位置;这是一个特性,不是bug。您始终可以

我正在创建一个Python包,其功能包括在数据库中记录某些操作。因此,我希望将数据库存储在一个位置,例如
~/.package name/database.sqlite
。此外,
~/.package name
可以是保存配置文件的目录

这样做的最佳实践是什么?我正在使用
setuptools
处理软件包安装。我设想,在我的一个模块中,我会有代码来检查数据库文件和配置文件的存在,并在必要时创建它们

在阅读报告时,它指出

实际上,您不能将数据文件安装到用户机器上的任意位置;这是一个特性,不是bug。您始终可以在发行版中包含一个脚本,该脚本可根据用户的意愿提取文档或数据文件并将其复制到用户指定的位置

似乎无法使用
setuptools
创建位置
~/.package name
。那么,我应该在用户第一次运行程序时通过检查目录并调用脚本或函数来创建这个目录吗


有没有一个标准的例子,我可以看看?我在搜索我的问题时遇到了一些问题。

最好包含一个初始化脚本,用户可以在第一次使用您的软件包时运行该脚本。或者,让您的包检查,如果需要,在运行时进行初始化。请考虑您的包安装在系统范围内,并由多个不同用户使用的情况。这似乎是明智的选择。如果没有配置/数据库,请运行脚本来创建它。对我来说,每个用户/主目录有单独的配置也是有意义的。最好包括一个初始化脚本,用户可以在第一次使用您的包时运行该脚本。或者,让您的包检查,如果需要,在运行时进行初始化。请考虑您的包安装在系统范围内,并由多个不同用户使用的情况。这似乎是明智的选择。如果没有配置/数据库,请运行脚本来创建它。对我来说,每个用户/主目录有单独的配置也是有意义的。