2013-03-15 34 views
1

我有一组脚本,它们使用特定的python安装(使用第一行#!设置)执行。网络上有几种不同的python安装,不同的组有自己的设置和工作流程。一些小组已经指示人们在他们的shell登录中修改他们的PYTHONPATH,以便运行他们的工具。如果有人已经修改了他们的PYTHONPATH,和它在一个目录中包含一个包,是我的脚本不兼容的版本,有没有到任何一个推荐的方式:执行脚本忽略用户的PYTHONPATH

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

基本上,人们已经修改了他们的PYTHONPATH,并且还需要运行我的脚本。我希望在系统中使它们普遍可用,而不需要人们惹恼他们的设置。

感谢您的帮助。

回答

3

你可以在你的脚本开始这样做:

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

它相当于specific/site-packages是首次在PYTHONPATH

+0

这似乎是最直接的方式去 - 谢谢。 – 2013-03-15 21:37:15

0

我会建议安装modules framework并编写适当的模块或创建一个自定义文件(说.pysource)用户应该source运行您的脚本之前。