我在OS X上安装了Python(10.10;只需用pip维护),我的网站包在
中/Library/Python/2.7/site-packages
Apple的
包裹/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
和
中的标准Apple Python安装/System/Library/Frameworks/Python.framework/Versions/2.7
我没有做任何特别的设置,所以我认为它非常标准。我在网站包目录中安装我的软件包,我唯一做的就是自定义"是修剪我不需要的Apple软件包或者我在我的网站软件包目录中保存的那些软件包。
一切正常,all my paths似乎正是我所期待的;但是当我
时,我得到一个令人困惑的结果python -m site
虽然这显示sys.path
对我有意义
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',
]
我也得到了
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
(我不知道的地方),因为
import pkg_resources
pkg_resources.__file__
收益/Library/Python/2.7/site-packages/pkg_resources.pyc
。
答案 0 :(得分:2)
用户站点是一个机器,意思是“允许用户在其主目录中本地安装Python包。” (见here)。即,它适用于本地用户包,而不是站点范围的安装。如果您的系统上有多个用户,则他们的用户站点包将是独立的。
从documentation,我们可以看到USER_SITE是:
正在运行的Python的用户站点包的路径。如果是,可以是无 尚未调用getusersitepackages()。默认值是 UNIX和非框架Mac OS的〜/ .local / lib / pythonX.Y / site-packages X build,〜/ Library / Python / X.Y / lib / python / site-packages for Mac 框架构建和%APPDATA%\ Python \ PythonXY \ site-packages打开 视窗。此目录是站点目录,表示.pth 其中的文件将被处理。
(用户群位于同一位置)
所以回答你的问题 - 我相信它们的设置正确。它是不同的站点包位置,而不是常规站点。
您还可以在常规模块文档中看到它:
此文件旨在在用户site-packages中创建 目录(见下文),它是sys.path的一部分,除非被禁用 -s。将默默忽略ImportError。
因此,这些路径不存在的事实并不重要。
另外,关于你的问题:
USER_SITE不应该是/Library/Python/2.7/site-packages吗?
请注意,在文档中显示〜 / Library / ... - ~
替换为/Users/Rax/
您根本不必担心USER_SITE设置。如果目录不存在,则无论如何都不会将其添加到路径中。