创建一个可以在python中调用的可执行函数

时间:2015-05-08 18:41:49

标签: python executable

我已经编写了一个函数,我希望能够在python中调用它,比如说w=max(temps)。我做过chmod +x flt.py。我已经创建了一个目录/home/mike/passive。被动包含2个文件flt.py__init__.py。 Flt.py包含

#!/usr/bin/env python
from __future__ import division
def fltflt(x, prices_list):
    and then some calculations
return a,b

我希望能够写

x,y=flt([list1],[list2])

当我尝试使用

运行它时
from passive import flt 
x,y=flt([list1],[list2]) 

我得到NameError: name 'passive' is not defined

我做错了什么? 在正确的地方被动吗? 我在ubuntu和python 2.5.2

1 个答案:

答案 0 :(得分:0)

为了能够from passive import flt,python包passive必须位于PYTHONPATH环境变量的其中一个文件夹中。在您的示例中,被动文件夹位于/home/mike下,因此请从终端添加到PYTHONPATH,如此

export PYTHONPATH=$PYTHONPATH:/home/mike

上面的命令会将您的主文件夹添加到当前终端会话的PYTHONPATH。之后,您可以运行from passive import flt。请注意,由于您的包结构,这将导入flt.py模块,以便执行您在代码中调用flt()所需的flt.flt()函数。

如果您经常这样做,可能需要考虑将上述终端命令添加到.bash_profile,以便每次启动终端时自动执行该命令