首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置Python的USER_SITE;是否需要设置?

如何设置Python的USER_SITE;是否需要设置?
EN

Stack Overflow用户
提问于 2014-10-19 19:34:58
回答 1查看 10.6K关注 0票数 2

我在OS上安装了Python (10.10;使用pip维护),我的站点包在

代码语言:javascript
运行
复制
/Library/Python/2.7/site-packages

苹果的软件包

代码语言:javascript
运行
复制
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python

中的标准Apple Python安装

代码语言:javascript
运行
复制
/System/Library/Frameworks/Python.framework/Versions/2.7

我没有做什么特别的设置,所以我认为它是相当标准的。我将我的软件包安装在站点软件包目录中,我唯一要做的“定制”就是修剪我不需要的苹果软件包,或者我在站点软件包目录中维护的重复的软件包。

一切都很好,我所有的路似乎就像我所期望的那样;然而,当我

代码语言:javascript
运行
复制
python -m site

虽然这显示了一个对我来说有意义的sys.path

代码语言:javascript
运行
复制
sys.path = [
    '/Users/Rax',
    '/Users/Rax/Documents/Projects/Coding/Python', # From PYTHONPATH
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
    '/Library/Python/2.7/site-packages',
]

我也得到

代码语言:javascript
运行
复制
USER_BASE: '/Users/Rax/Library/Python/2.7' (doesn't exist)
USER_SITE: '/Users/Rax/Library/Python/2.7/lib/python/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

对我来说没什么意义。

USER_SITE不应该是/Library/Python/2.7/site-packages吗?如果是这样,我如何设置它(我不能通过将USER_SITE设置为/Library/Python/2.7/,因为lib/python/是添加到路径中的)?

这让我更加困惑,因为/Library/Python/2.7/site-packages被正确地添加到了我的sys.path中(从我不知道的地方)

代码语言:javascript
运行
复制
import pkg_resources
pkg_resources.__file__

/Library/Python/2.7/site-packages/pkg_resources.pyc

EN

Stack Overflow用户

发布于 2014-10-19 20:13:49

用户站点是一种机器,意思是“允许用户在自己的主目录中安装Python包。”(见这里)。也就是说,它是针对本地用户包的,而不是站点范围内的安装。如果系统上有多个用户,则他们的用户站点包将是单独的。

文档中,我们可以看到USER_SITE是:

用户站点的路径-运行Python的包。如果getusersitepackages()尚未被调用,则可以为空。默认值是~/..local/lib/pythonX.Y/site-用于UNIX和非框架Mac构建的包,~/Library/Python/X.Y/lib/Python/site-用于Mac框架构建的包,以及%APPDATA%\Python\PythonXY\site- Windows上的包。这个目录是一个站点目录,这意味着它中的.pth文件将被处理。

(用户群在同一位置)

所以回答你的问题-我相信他们的设置是正确的。这是一个不同的网站包的位置,比常规的。

您还可以在通用模块文档中看到它说:

此文件将在用户站点包目录(见下文)中创建,除非被sys.path禁用,否则它是-s的一部分。ImportError将被静默地忽略。

因此,这些路径不存在的事实并不重要。

此外,关于你的问题:

USER_SITE不是应该是/Library/Python2.7/站点包吗?

注意,在文档中写着~/Library/.- ~/Users/Rax/替换

您根本不应该担心USER_SITE设置。如果目录不存在,则不会将其添加到路径中。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26454521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档