Raspberry Pi上的Python导入模块

时间:2015-09-02 07:18:52

标签: python linux python-import

我知道这已被问过几十次,但我无法看到世界上我做错了什么。我试图从另一个目录导入python 2.7中的模块。我非常感谢一些意见,以帮助我理解为什么这种方法不起作用。我的raspbian系统上有以下目录结构:

/home/pi/
        ...projects/__init__.py
        ...projects/humid_temp.py

        ...python_utilities/__init.py__
        ...python_utilities/tools.py

我正在调用humid_temp.py,我需要在tools.py中导入一个函数。这就是它们的内容:

humid_temp.py:

import os
import sys
sys.path.append('home/pi/python_utilities')
print sys.path
from python_utilities.tools import *

tools.py:

def tail(file):
    #function contents
    return stuff

打印sys.path输出包含 / home / pi / python_utilities

我没有弄乱我的__init__.py我是吗? 我已经排除了该路径可能存在的权限问题,因为我完全接受了777访问权限,而且我仍然点击

  

ImportError:没有名为python_utilities.tools的模块。

我错过了什么?

2 个答案:

答案 0 :(得分:2)

如果要导入类似 -

的内容
from python_utilities.tools import *

您需要将python_utilities的父目录添加到sys.path,而不是python_utilities。所以,你应该添加像 -

这样的东西
sys.path.append('/home/pi')       #Assuming the missing of `/` at start was not a copy/paste mistake

另外,只需注意,from <module> import *不好,您应该考虑只导入所需的项目,您可以查看问题 - Why is "import *" bad? - 了解更多详情。

答案 1 :(得分:2)

在humid_temp.py中,只需写下:

tools.function()

无需将子文件夹附加到sys.path。

然后当你想使用工具中的函数时,只需

shay__