【问题标题】:Trouble importing a Python module导入 Python 模块时遇到问题
【发布时间】:2014-04-01 12:46:41
【问题描述】:

我是 Python 新手,无法从其他目录导入。

我当前所在的文件的路径是 home/pi/example.py

我尝试导入此文件的模块的路径为 home/pi/ReactiveEngine/src/PiEngine.py

我尝试了以下方法:

import sys
sys.path.append('home/pi/ReactiveEngine/src')
import sys.PiEngine.py

但它是说没有名为 PiEngine.py 的模块

有人可以告诉我我做错了什么吗?

【问题讨论】:

  • 只是import PiEngine!不需要 sys.Piengine.py
  • 我刚试过,现在说没有名为 PiEngine 的模块
  • 在下面查看我的答案,我在我的机器上进行了测试,它工作正常。
  • :) 领先你一秒
  • 我不确定我做错了什么。我已经尝试了你所有的建议,但它总是以“没有名为 PiEngine 的模块”的形式出现。我已经在命令行中使用了 readlink -f PiEngine.py 来确保我的文件路径正确,并且看起来像我一样。有人知道它为什么会这样做吗?

标签: python


【解决方案1】:

导入的时候不要加后缀.py。只需执行以下操作:

import sys
sys.path.append('home/pi/ReactiveEngine/src')
import sys.PiEngine

而且不带.py应该也可以,因为只能导入.py文件,所以后缀是多余的!

或者正如路易斯在下面所说,您可以使用以下内容:

import os
os.chdir('home/pi/ReactiveEngine/src')
import PiEngine

【讨论】:

    【解决方案2】:

    你需要:

    import piEngine
    

    如果你的模块名为 piEngine.py

    此外,我建议使用sys.path.append() 的绝对路径,假设您的模块位于 ~/home/pi/ReactiveEngine/src:

    import os
    sys.path.append(os.path.expanduser('~/home/pi/ReativeEngine/src'))
    import piEngine
    

    【讨论】:

      【解决方案3】:

      交替:

      import os
      os.chdir('home/pi/ReactiveEngine/src')
      import PiEngine
      

      这应该可以解决你的问题!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-07
        • 2011-01-17
        • 2020-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-03
        相关资源
        最近更新 更多