2

我在 Python 模板语言的说明中看到了这一点(特别是 Genshi 的教程):

$ PYTHONPATH=. python geddit/controller.py geddit.db

我理解源脚本的含义,但我不明白将源脚本分配给变量的原因,这里是“PYTHONPATH”。

跑步. python没有用,但PYTHONPATH=. python可以。但也是如此test=. python,所以我知道我的PYTHONPATH内容与它无关。

4

2 回答 2

4

你所看到的不是你所想的。:) 该命令不分配源文件甚至源文件。在 bash 中,您可以执行以下操作:

ENVIRONMENT_VAR=VALUE command

这会将环境变量设置为一个值,然后使用修改后的环境执行命令。调用后,环境变量将再次具有旧值。

所以上面的行只是将环境变量设置PYTHONPATH.- 当前目录 - 并执行命令python geddit/controller.py geddit.db

于 2013-07-30T21:42:13.547 回答
2

Bash 允许您只为一次调用分配环境变量。

$ VAR1=one VAR2=two someprogram param1 param2

在运行某个程序之前设置 VAR1 和 VAR2。你的命令

$ PYTHONPATH=. python geddit/controller.py geddit.db

将 PYTHONPATH 设置为当前目录,以便可以导入当前目录中的 .py 文件然后运行“python geddit/controller.py geddit.db”

于 2013-07-30T21:44:41.850 回答