python - Python:从命令行运行具有相对路径的脚本
问题描述
TL;博士
Windows 10 上有哪些选项可以从命令行运行由相对路径指定的 python 脚本?可以更改环境变量来这样做吗?如何才能做到这一点?
长
我使用的是 Windows 10。当我按照这个安装指南(为 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 的文件夹中时,它不会。
Python 解释器使用 PYTHONPATH。它与 Windows 的 PATH 环境变量不同。您不能将其用作在命令行上将文件传递给解释器的搜索路径。
但是我找不到如何实现我所需要的,使用脚本的相对路径从命令行运行它。请注意,使用绝对路径不是一个选项,因为安装指南需要将 2 个文件夹添加到 PYTHONPATH,才能使任务正常工作。
这应该是可能的,但我没有找到任何答案 - Python 3 文档描述了使用相对路径运行脚本的命令行选项:
执行脚本中包含的 Python 代码,该代码必须是引用 Python 文件的文件系统路径(绝对或相对)...
解决方案
安装指南中的这些行旨在在 a 之后运行cd .../tensorflow/models/research/
,因此是绝对路径:
# From tensorflow/models/research/ export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
您可能需要在 Windows 上执行类似的操作。等效的可能是将库的绝对路径添加到PYTHONPATH
环境变量中。
推荐阅读
- presentation - 在 Google 幻灯片演示期间编辑文本
- c# - 如何将字符串渲染为剃刀?
- c - 为什么有正差时memcmp返回负值?
- haskell - Haskell 编译器如何“知道” IO 不能被解包?
- excel - Excel 工作簿中的字段之间的自动制表符
- javascript - 使用 Web API 检索块中的文件数据以在浏览器中显示 (WIP)
- gcc - 如何让 GCC 将“移动 r10,r3;存储 r10”组合成“存储 r3”?
- javascript - Vue 组件在 store 中更改自己的属性
- python - 如何旋转并将每列的平均值转换为行
- mysql - sequelize 不是唯一的表/别名