繁体   English   中英

您如何确定当前的Python Egg缓存目录?

[英]How do you determine the current Python egg cache directory?

我知道您可以使用环境变量PYTHON_EGG_CACHE覆盖Egg缓存目录,并且可以在os.envrion中查找该覆盖。 看起来Ubuntu 16上Python 2.7的默认值为/.cache/Python-Eggs

当环境中没有提供PYTHON_EGG_CACHE时,您将如何记录鸡蛋缓存的位置?

PYTHON_EGG_CACHE使用PYTHON_EGG_CACHE envvar确定存储已安装的鸡蛋包装的位置。 (您可以在此处阅读有关setuptools的更多信息)

浏览github上 setuptools的当前代码(在当前名为get_default_cache的函数中)显示,如果envvar的查找失败,则使用以下方法计算默认值:

from pkg_resources.extern import appdirs

return (
    os.environ.get('PYTHON_EGG_CACHE')
    or appdirs.user_cache_dir(appname='Python-Eggs')
)

appdirs是一个非常简单的python库,可获取标准文件系统位置。 user_cache_dir逻辑取决于您的操作系统,并且有很多条件(这里要解释的太多了,但是如果您感兴趣的话,请参见github上逻辑

自从您提到U16-逻辑就是:

  • 查找另一个envvar( XDG_CACHE_HOME ),然后附加/Python-Eggs (例如,如果XDG_CACHE_HOME/tmp/xdg/则使用/tmp/xdg/Python-Eggs
  • 如果未定义第二个envvar,则使用~/.cache/Python-Eggs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM