2014-11-21 42 views
4

我试图使用命令“python filename.py”通过命令提示符运行.py文件。我已经在安装python后为它设置了环境变量,所以当我输入python时没有遇到任何错误。我正在运行的文件会导入几个目录,除了文件web.py外,所有这些目录都与我运行的文件在同一目录中预先存在,我无法在目录中找到它,所以我假设它位于Python包中的某个地方,我已经下载了。但是,我在那里也找不到它,所以我需要为web.py文件安装python扩展才能成功导入,或者有其他解决方法。编译py文件时没有命名为utils的模块

我已经下载的Python 3.4,我用我的操作系统,我收到确切的错误的Windows 7,当我试图编译文件

ImportError: No module named 'utils' 

能有人请解释或直接我一个页面,详细显示如何安装Python扩展?

+3

请完整引用和[mvce](http://stackoverflow.com/help/mcve)? – matsjoyce 2014-11-21 15:18:54

回答

9

这个问题的答案需要你的一些研究。 Python解释器在指定的位置查找特定的“.py”文件时会发生特定的错误。在你的情况下,它是文件“utils.py”。

诀窍是,虽然,正是WHICH文件试图导入“utils.py”?你需要做的是,从你的主文件开始,查找你正在导入的所有文件。 (我猜这个问题来自其中一个非库文件,但我可能是错的。)

所以,一旦你有“顶级”导入列表,检查每个文件,看看他们是什么正在导入,并为他们重复这个过程。最终,你会发现试图导入“utils”的.py文件。可能有一个目录规范强迫Python查找错误的地方。

最后,使用Windows的文件管理器,搜索“utils.py”。作为临时修复,您可以将其从当前位置复制到您的工作目录中。这至少可以让你启动并运行你的项目,直到你理清真正的原因。

+0

我使用的是Python 3.4版本,朋友曾要求我卸载3.4版本并安装最新版本2.x.这显然阻止了错误的发生和文件的完美运行,但是你知道为什么会出现这种情况。 utils是一个包含在较旧版本python包内的文件,如果是,为什么它会在新版本中被删除,是否有新的utils文件的别名? – 2014-11-23 21:42:10

+0

至此,我仍然无法详细回答。 'utils'是一个非常通用的名称,可以应用于任何图书馆。不过,我可以这么说。 2.X和3.X Python之间的区别非常明显 - 就像手动变速箱车和自动变速箱之间的区别。试图在同一时间手动*和*自动生成一辆汽车将是一场噩梦,所以试图使Python 3与旧的Python 2代码完全相容。因此,Python 2将继续得到Python 3的支持和开发。这个想法是让每个人都有时间将旧代码升级到Python 3。 – 2014-11-24 15:04:45

3

发生此错误的原因是文件/文件夹不在其各自的位置。

我和一个Python Flask Framework应用程序有一个非常类似的错误,事实证明我的manage.py和config.py文件在其他文件夹的应用程序文件夹内(它们应该在应用程序目录之外) ,并在我的情况下导致错误。

一旦我将文件放在适当的位置繁荣错误消失了。

因此,请检查您的应用程序框架,并确保它们应该位于的位置。 祝你好运

相关问题