【发布时间】:2018-12-19 10:40:04
【问题描述】:
我不知道这个我觉得有点傻,但是我今天尝试做它,当它不起作用时感到惊讶......
我有一个目录C:\test 有一个演示脚本,我们称之为demo.py
- 如果我在
C:\test,那么我可以做python demo.py。轻松 - 我也可以使用相对路径,所以从
C:\,它是python test\demo.py
如果 C:\test 在路径上怎么办?
我期待现在能够在 任何地方 执行 python demo.py 但是......
python: can't open file 'demo.py': [Errno 2] No such file or directory
我觉得自己很愚蠢,因为我认为这很简单,但我四处寻找并没有找到解决方案。我是否从根本上误解了 Python 解释器如何找到要运行的脚本?我不认为这与 PYTHONPATH 有任何关系,因为我理解这与在脚本中加载模块有关。
顺便说一下,这是在 Windows 7 上。
【问题讨论】:
-
PATH环境变量包含可以找到程序的所有目录,而不是输入文件。这似乎是你的误解。 -
解释器不会在
PATH中搜索脚本。您必须直接运行脚本。确保正确配置 .py 文件关联以使用“Python.File”程序。如果您想省略文件扩展名(即运行demo),请将.PY添加到PATHEXT环境变量中。 shell 会将脚本的完全限定路径和命令行参数传递给ShellExecuteEx函数,该函数将根据.py 文件关联(例如"C:\Windows\py.exe" "%1" %*)查找模板命令并将这些值插入到分别为"%1"和%*。