与平台无关的/ var / lib和〜/ .config版本

时间:2009-07-10 01:02:05

标签: python configuration path cross-platform

我们看到像apt-get这样的程序会在几个地方存储信息:

/var/cache/apt      <- cache
/var/lib/apt        <- keyrings, package db, states, locks, mirrors
/etc/apt            <- configuration file
~/.aptitude/config  <- user configuration file

所以我们在这里看到四种路径:

  1. 缓存路径
  2. 数据路径
  3. 系统范围配置
  4. 用户配置
  5. 为简单起见,也许(1)可以成为(2)的一部分。有人能想出以平台无关的方式获得这些适当路径的方法吗?有没有一个库可以做到这一点,还是必须发明这个轮子?

2 个答案:

答案 0 :(得分:1)

对于Linux,请查看Filesystem Hierarchy Standard(但请注意,这些标准适用于作为分发软件的软件,本地安装的软件不应干扰分发的软件包管理并保留在/ usr / local /和/ var中/本地/).

如果你想成为真正的跨平台,IMO最好的方法是将这些东西配置为打包器,默认在当前目录中运行(这样没有管理权限的用户可以简单地解压缩并运行程序)。这样,针对特定操作系统/分发的人员打包将为系统范围的安装设置合理的值,并且用户将能够在本地使用它而无需机器的管理权限。

答案 1 :(得分:-1)

你的意思是virtualenv吗?