5

我对用于构建我的 Python 的规则感到困惑sys.path。我知道第一个条目将是“包含用于调用 Python 解释器的脚本的目录”,或者如果以交互方式调用 Python,则为空字符串,最后一个条目将是基于 Python 安装的条目。但是我对这两组条目之间发生了什么感到困惑,特别是它们与我的 PYTHONPATH 的关系。

当我(A)在目录中的系统命令提示符处执行打印出我sys.path使用的条目的脚本时,我得到:python test.py../scriptpath

/Users/Rax/Documents/Projects/scriptpath
... (my system PYTHONPATH, as configured in .bash_profile)  #(i)
/Users/Rax/Documents/Projects/scriptpath
... (system entries)

这与 (B) 我在 IPython shell 中运行import test时得到的不同../scriptpath

(empty string)
/usr/local/bin
... (my system PYTHONPATH)  #(i)
/Users/Rax/Documents/Projects/scriptpath
... (system entries)
/Library/Python/2.7/site-packages/IPython/extensions

或 (C) 在 Python shell 中

(empty string)
... (my system PYTHONPATH)  #(i)
/Users/Rax/Documents/Projects/scriptpath
... (system entries)

同时,(D)当我test.py在我的IDE(PyCharm)中运行时,我得到

/Users/Rax/Documents/Projects/scriptpath
... (user-added entries in the PyCharm Interpreter Paths settings)  #(i)
... (system entries)

或 (E)

/Users/Rax/Documents/Projects/scriptpath
... (user-added entries in the PyCharm Interpreter Paths settings)  #(i)
/Users/Rax/Documents/Projects/scriptpath
... (system entries)

取决于我是否可以选择启用“内容根目录”。

想我了解每种情况下 (i) 条目的来源:除了 PyCharm,它在“解释器设置”中的“路径”末尾使用“用户添加”路径;所有这些都使用我的系统 PYTHONPATH;但我不明白其他整体来自哪里(或者就此而言,PyCharm 如何能够忽略我的系统 PYTHONPATH)。

为什么.. scriptpath有时在 (i) 之前和之后重复输入?使用什么规则添加其他条目(例如/usr/local/bin在(B)中?

4

0 回答 0