执行脚本忽略用户的PYTHONPATH

时间:2013-03-15 20:23:53

标签: python pythonpath

我有一组脚本,使用特定的python安装执行(使用第一行#!设置)。网络上有一些不同的python安装,不同的组有自己的设置和工作流程。有些小组已经指示人们在他们的shell登录中修改他们的PYTHONPATH,以便运行他们的工具。如果有人修改了他们的PYTHONPATH,并且其中的目录包含与我的脚本不兼容的软件包版本,是否有推荐的方法:

  • 忽略用户的PYTHONPATH env变量或
  • 确保首先搜索特定的site-packages目录?

基本上,人们已经修改了他们的PYTHONPATH,并且还需要运行我的脚本。我想让它们在系统上普遍可用,而不必让人们不得不搞砸他们的设置。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您可以在脚本的开头执行此操作:

import sys
sys.path.insert(0, 'specific/site-packages')

相当于specific/site-packagesPYTHONPATH的第一位。

答案 1 :(得分:0)

我建议您安装modules framework并编写相应的模块,或者在运行脚本之前创建用户.pysource的自定义文件(例如source)。