【发布时间】:2018-05-12 22:15:23
【问题描述】:
TL;DR
Windows 10 上有哪些选项可以从命令行运行由相对路径指定的 python 脚本?可以更改环境变量来这样做吗?如何做到这一点?
长
我使用的是 Windows 10。当我按照this 安装指南(为 Linux 编写)时,一切都很好,直到我需要在 Windows 上执行以下操作
# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
在 Windows 上,我将两个路径(整个、绝对、路径)添加到 PYTHONPATH。当我执行以下操作时;我看到添加了额外的两条路径。
C:\User\me> python -c "import sys; print(sys.path)"
但是,如果我创建一个简单的 test.py 脚本
print("Relative path works")
并从命令行运行它:
C:\User\me> python test.py
如果 test.py 文件保存在 C:\User\me\ 中,它可以工作,但如果它保存在 PYTHONPATH 的文件夹中,则不能。
This SO Q&A 这么说
Python 解释器使用 PYTHONPATH。它不一样 Windows 的 PATH 环境变量。您不能将其用作搜索路径 用于在命令行上将文件传递给解释器。
但是我找不到如何实现我所需要的,使用脚本的相对路径从命令行运行它。请注意,使用绝对路径不是一个选项,因为安装指南需要将 2 个文件夹添加到 PYTHONPATH,才能使任务正常工作。
这应该是可能的,但我没有找到任何答案 - Python 3 documentation 描述了使用相对路径运行脚本的命令行选项:
执行脚本中包含的 Python 代码,该代码必须是 引用 Python 的文件系统路径(绝对或相对) 文件...
【问题讨论】:
-
PYTHONPATH与查找从命令行运行的常规脚本无关。它将目录添加到sys.path以与import语句一起使用。它仅与将导入模块作为脚本运行的-m选项或运行命令行脚本的-c选项的命令行使用相关。
标签: python windows command-line