我知道您可以使用环境变量PYTHON_EGG_CACHE覆盖Egg缓存目录,并且可以在os.envrion中查找该覆盖。看来Ubuntu 16上的Python 2.7的默认值为 /。cache / Python-Eggs 。
在环境中未提供PYTHON_EGG_CACHE的情况下,如何记录鸡蛋缓存的位置?
答案 0 :(得分:1)
setuptools使用PYTHON_EGG_CACHE
envvar来确定存储已安装的Egg软件包的位置。 (您可以阅读有关setuptools here的更多信息)
浏览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
逻辑取决于您的操作系统,并且有相当多的条件(这里没有太多解释,但是如果您有兴趣,logic is on github)
自从您提到U16-逻辑就是:
XDG_CACHE_HOME
),然后附加/Python-Eggs
(例如,如果XDG_CACHE_HOME
为/tmp/xdg/
,则使用/tmp/xdg/Python-Eggs
)< / li>
~/.cache/Python-Eggs
。