Python导入问题,无法找到模块

时间:2014-07-30 07:28:38

标签: python

在我https://docs.python.org/2/tutorial/modules.html阅读的所有内容中, main.py 代码都可以正常运行。我不能为我的生活弄清楚它为什么不起作用。

版本等。

vagrant@vagrant-ubuntu-precise-64:/vagrant/monkey$ python --version
Python 2.7.3

目录结构

vagrant@vagrant-ubuntu-precise-64:/vagrant/monkey$ ll
total 6
drwxrwxrwx 1 vagrant vagrant    0 Jul 30 07:18 ./
drwxrwxrwx 1 vagrant vagrant 4096 Jul 30 07:04 ../
-rwxrwxrwx 1 vagrant vagrant   76 Jul 30 07:09 abc.py*
-rwxrwxrwx 1 vagrant vagrant   76 Jul 30 07:10 bcd.py*
-rwxrwxrwx 1 vagrant vagrant   43 Jul 30 06:56 main.py*

abc.py

# abc module


def bar():
    print 'abc.bar called.'
    return None

bcd.py

# bcd module


def foo():
    print 'bcd.foo called.'
    return None

main.py

import abc
import bcd


abc.bar()
bcd.foo()

错误

vagrant@vagrant-ubuntu-precise-64:/vagrant/monkey$ python main.py
Traceback (most recent call last):
  File "main.py", line 5, in <module>
    abc.bar()
AttributeError: 'module' object has no attribute 'bar'

2 个答案:

答案 0 :(得分:6)

abc is a builtin Python module。将您的abc.py重命名为其他内容。

答案 1 :(得分:1)

您的代码没有任何问题。但是abc是一个内置模块。尝试做locate abc.py,您应该看到如下行:

/usr/lib/python2.6/abc.py
/usr/lib/python2.6/abc.pyc

尝试重命名模块,或搜索SO以查找Import Local module over global python

之类的内容