首页 > 解决方案 > sys.path 不会自动包含当前工作目录

问题描述

我在 Win 10 上使用 python.org 安装程序。文档说,从命令行运行脚本时,第一项sys.path将是脚本的路径。我总是这么看。这些文档并没有说第二项将是运行脚本的目录,但是在使用 Python 的多年中,我一直看到这种行为,其他人也提到了它。文档说这sys.path是“从环境变量 PYTHONPATH 初始化的,加上依赖于安装的默认值”。我想明白这句话是什么意思。例如,如果 PYTHONPATH 为空(PowerShell: $env:PYTHONPATH = ""),那么令我惊讶的是,第二项没有添加。Otoh,如果 PYTHONPATH 以分号 (PowerShell: $env:PYTHONPATH = ";") 开头,则添加第二项。

我想这一定是预期的行为?我在找我。确认这一假设,以及 ii。并解释我所看到的(如上一段末尾所述)。我的猜测是“;”的 PYTHONPATH 被认为以空字符串开头,这会导致包含工作目录。

标签: pythonsys

解决方案


推荐阅读