【问题标题】:How to use ConfigParser with virtualenv?如何将 ConfigParser 与 virtualenv 一起使用?
【发布时间】:2010-10-21 14:20:52
【问题描述】:

我编写了一个工具,它在多个位置查找 INI 配置文件:/usr/share/usr/local/share~/.local/share 和当前目录。

c = ConfigParser.RawConfigParser()
filenames = ['/usr/share/myconfig.conf',
             '/usr/local/share/myconfig.conf',
             os.path.expanduser('~/.local/share/myconfig.conf'),
             os.path.expanduser('./myconfig.conf')]
parsed_names = c.read(filenames)
for name in parsed_names:
    print 'using configuration file: ' + name

我已经开始使用 virtualenv,现在我的 setup.py 脚本将 myconfig.conf 安装到 /path/to/virtual/env/share/ 中。当 virtualenv 的路径每次都不同时,如何将此路径添加到 ConfigParser 搜索的路径列表中?另外,如果我安装到virtualenv,我还应该搜索系统/usr/share/usr/local/share 目录吗?

【问题讨论】:

    标签: python virtualenv configparser


    【解决方案1】:

    您应该能够获得 venv 共享路径

    os.path.join(sys.prefix, 'share', 'myconfig.conf')
    

    包括/usr/share/usr/local/share 将取决于您的应用程序以及不同用户的多次安装是否更有可能受益或受到全局机器设置的损害。使用上面的代码会在使用系统python时包含'/usr/share/myconfig.conf',所以不显式包含它可能更安全。

    【讨论】:

      猜你喜欢
      • 2016-05-04
      • 1970-01-01
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      相关资源
      最近更新 更多