我想运行:
python somescript.py somecommand
但是,当我运行这个命令时,我需要PYTHONPATH
包含一个特定的目录。我不能仅仅将它添加到我的环境变量中,因为我想添加的目录会根据我正在运行的项目而发生变化。有没有一种方法可以在运行脚本时更改PYTHONPATH
?注意:我甚至没有PYTHONPATH
变量,所以在运行这个脚本时,我不需要担心追加它而不是覆盖它。
发布于 2011-01-03 03:38:46
适用于Mac/Linux;
PYTHONPATH=/foo/bar/baz python somescript.py somecommand
对于Windows,设置一个包装器pythonpath.bat
;
@ECHO OFF
setlocal
set PYTHONPATH=%1
python %2 %3
endlocal
并调用pythonpath.bat
脚本文件如;
pythonpath.bat /foo/bar/baz somescript.py somecommand
发布于 2011-01-03 03:41:25
import sys
sys.path.append('your certain directory')
基本上,sys.path是一个包含python模块的所有搜索路径的列表。它是由解释器初始化的。PYTHONPATH的内容会自动添加到该列表的末尾。
发布于 2011-01-03 04:12:38
如果您从与POSIX兼容的shell (如bash
)运行该命令,则可以像这样设置环境变量:
PYTHONPATH="/path/to" python somescript.py somecommand
如果所有这些都在一行中,则PYTHONPATH环境值仅适用于该命令。
$ echo $PYTHONPATH
$ python -c 'import sys;print("/tmp/pydir" in sys.path)'
False
$ PYTHONPATH=/tmp/pydir python -c 'import sys;print("/tmp/pydir" in sys.path)'
True
$ echo $PYTHONPATH
https://stackoverflow.com/questions/4580101
复制相似问题