我已经编写了一个函数,我希望能够在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
答案 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
,以便每次启动终端时自动执行该命令