2013-03-18 50 views
2

我在做一个Python代码的维护。 Python安装在/usr/bin,代码安装在/aaa,python 2.5安装在/aaa/python2.5下。我每次运行Python时,都会使用/usr/bin之一。如何使它运行/aaa/python2.5如何在不同目录下运行python?

而且当我运行Python -v; import bbb; bbb.__file__;它会自动显示它使用bbb模块/usr/ccc/下(不知道为什么),/aaa/python2.5/lib

下,而不是使用bbb模块如何让它运行的python2.5和使用`/ aaa/python2.5/lib'模块?我问这个问题的原因是,如果我们维护一个代码,但其他人仍在使用它,我们需要将代码安装在一个新目录下并修改它,运行它并进行调试。

回答

1

更改shebang-line(如果有这样一条线)

Nomally

#!/usr/bin/env python 

用于启动路径中首次发现Python解释器,这是多么的virtualenv的作品,即它改变了路径,以便选择的解释器放在第一位,上面的行简单地起作用。

在你的榜样,我改变对

#!/aaa/python2.5 

注意,可执行标志已被设置为这个工作。 实施例:

$ chmod u+x script.py 
$ ./script.py 

如何蟒搜索的用于模块的描述见PYTHONPATH

+0

感谢您的所有答案。在/ aaa下有代码zzz.py,它有一行'import bbb'。目前当我运行zzz.py时,我认为它会自动调用/ usr/ccc /下的bbb模块(其他人使用,我无法修改它)。我如何强制它使用/aaa/python2.5/lib下的bbb模块? – truelies 2013-03-18 22:29:27

+0

@truelies - 请参阅update,您需要正确设置PYTHONPATH和/或PYTHONHOME变量 – 2013-03-19 08:53:39

1

/aaa/python2.5 python_code.py。如果您经常使用Python 2.5,请考虑更改$PATH变量以使Python 2.5成为默认值。

0

添加到您的.bash_profile文件(创建,如果不存在,这是一个隐藏文件):

python25(){ 
    /aaa/python2.5 "$1" 
} 

现在你可以使用Python(最新)和Python 2.5:

$ python my_file.py 

$ python25 my_file.py 

好运!

相关问题