2013-02-07 28 views
-2

我使用Linux Backtrack5中的eclipse IDE编写Python程序。导入错误:没有名为...的模块[请完整解决方案]

Scapy的,Python的2.6是Backtrack.Using自动完成功能,我在所有模块可看到,但是当我运行该程序,我看到以下错误:

from scapy.contrib.ospf import OSPF_Hdr 
ImportError : No module named contrib.ospf 

我刚开始使用Python编程,以及我遇到过这个问题的许多来源。

这个问题对我来说很有意思,当编码一切正常,但它没有运行!

除了解决这个问题,我想知道为什么会出现这个问题??一般来说如何解决?

也许我的问题是重复的,但是一个完整的解决方案,我们需要它,在这种情况下,它不会复制任何其他提出问题的人。

回答

2

运行程序搜索路径是错误的PYTHONPATH。

2个常见的原因是:

  • Pythonversions在开发和执行是不同的。你确定你两次都使用python2.6吗?因为并非所有软件包都可用于所有版本的python。

-IDE中的搜索路径与shell中的搜索路径不同。我没有python的eclipse经验,但它发生在我身上的其他IDE。

所以在bash,那么你可以这样写:
出口PYTHONPATH = “$ PYTHONPATH:/哪里/模块/生活/”
包括路径。

如何将之纳入你的bashprofile: http://blog.streamitive.com/2011/12/01/export-pythonpathpythonpath/
您可以通过Python本身包含路径: http://www.johnny-lin.com/cdat_tips/tips_pylang/path.html

何时通过的bash包括当通过Python本身包括:
通过包括python for controlled programms,当你知道100%你的模块总是在同一个位置。

否则,您应该明确设置路径。也许在启动shell脚本,crontab命令,或者你调用python程序的任何地方。

+0

谢谢。我首先在bash中写入'echo $ PYTHONPATH'命令,但不输出。似乎没有任何价值。我在哪里可以找到运行该程序的Python的默认版本? – HamiD

1

IDE所使用的PYTHONPATH是不一样的,你用

+0

我在哪里可以找到运行程序的Python的默认版本? – HamiD

相关问题