您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python:lib / site-packages / site.py和lib / site.py之间的相互作用

python:lib / site-packages / site.py和lib / site.py之间的相互作用

lib/python2.7/site-packages/site.py文件 。那是因为lib/python2.7/site.py添加site- packages路径sys.path要从头开始,而site.pyinsite- packages根本不可见。如果输入site.pyinsite-packages则表示错误,那么那里应该没有此类文件

在没有补丁的Python中发生的情况是:

就是这样,不再site.py加载其他模块。即使您尝试过,它也会找到 已经导入 的模块;sys.modules['site']存在并保存从中加载的对象lib/python2.7/site.py

但是,您的安装中安装的是较旧的setuptools版本,并且包含的特殊版本site.py,如果尚不存在该easy_install命令,该命令也将安装到site- packages版本中。它会加载原始site.py通过明确地扫描原件sys.path与任何PYTHONPATH忽略- supplied路径和加载原始site.py手动模块使用imp.find_module()imp.load_module()低级别的功能,从而绕过正常模块高速缓冲存储器。

其目的是更改sys.path顺序以使PYTHONPATH列出的.pth文件具有更高的优先级,请参阅添加补丁原始提交

注意:此版本包括被黑的“ site.py”,以支持处理sys.path上站点之前的 目录中的.pth文件

最早在2006年,该补丁已从最新setuptools版本中完全删除setuptools

因此,您的Linux发行版已被设置为添加lib/python2.7/site- packages到您PYTHONPATH的外壳中,或者您的shell已为您设置了此版本,或者您的Python已被修补为包括它, 您的中已有旧的setuptools“补丁” site-packages

删除文件是完全安全的。

python 2022/1/1 18:50:06 有361人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶