【问题标题】:correct way of Setting pythonpath设置pythonpath的正确方法
【发布时间】:2013-09-22 14:39:11
【问题描述】:
#!/usr/bin/python

import os
import sys

sys.path.append('/usr/bin/python')    
vs
os.environ['PYTHONPATH'] = '/usr/bin/python'

我正在将脚本作为 cron 作业运行,并希望将 PYTHONPATH 环境变量设置为“/usr/bin/python”以运行脚本。上面sn-p中提到的两者的正确方式是什么?

【问题讨论】:

    标签: python environment-variables pythonpath


    【解决方案1】:

    更新sys.path.append() 将更改当前脚本搜索模块/包的路径。如果您将环境传递给子进程,更新os.environ[] 只会影响子进程。 这些只会影响搜索模块/包的目录,因为/usr/bin/python 通常是 python 可执行文件,两者都不会产生任何影响。

    如果您尝试指定用于执行脚本的 python 版本,请在脚本顶部使用 shebang:

    #!/usr/bin/python
    

    确保脚本设置为可执行chmod +x script,然后通过cron直接执行。

    【讨论】:

    • 这两种说法都有效。我想知道 sys.path.append('/usr/bin/python') 和 os.environ['PYTHONPATH'] = '/usr/bin/python' 的区别
    • 这正是我想要的。我正在将主脚本中的子脚本作为子进程运行。因此,对于我运行的每个下标,我都需要更改环境变量。所以我想根据你的解释,我应该使用 os.environ[]。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2021-05-27
    • 2019-05-08
    • 2020-10-31
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多