2010-08-15 129 views
3

我运行Windows 7,并且可以导入内置模块,但是当我保存自己的脚本并尝试将其导入IDLE时,出现错误,指出模块不存在。Python模块导入问题

我使用通过单击Python Shell中的“File”和“New Window”找到的Python文本编辑器。我将它作为一个.py文件保存在我在Python目录中创建的Module文件夹中。但是,每当我在IDLE中输入import module_name时,就表示该模块不存在。

我做错了什么,或者没有做?我试过import module_name,import module_name.py,python module_name,python module_name.py

回答

4

Python使用PYTHONPATH环境变量来定义导入模块时应该查看的文件夹列表。最有可能你的文件夹没有PYTHONPATH

+0

那么如何使文件夹PYTHONPATH,然后如何从该文件夹导入模块?另外,如何找出该文件夹的确切目录? 对不起noob问题。 – 2010-08-15 18:16:40

+0

看到我的回答在 – dmitko 2010-08-15 18:22:48

0

导入自己的模块的方法是将文件放置在你的程序的目录,并使用下面的代码:

from Module import * 

其中module是您的模块的名称。

1

尝试添加模块的路径sys.path的变量:

import sys 

sys.path.append(pathToModule)

+0

以下啊,谢谢......但我怎么找到模块的目录路径? – 2010-08-15 18:27:25

+0

你需要自己找出它:)通常很容易将模块保存到预定义的位置,并将此位置添加到sys.path变量中。 例如如果模块位于c:\ my_modules sys.path.append(r“c:\ my_modules”) – dmitko 2010-08-15 18:33:03

+0

r在路径前做了什么?那是原始文本吗? – 2010-08-15 18:36:03

0

你在哪里存储您所创建的模块?当我创建一个模块,我做到以下几点:

  1. 在你的Python文件夹中创建前在lib \ sitepackages文件夹中的文件夹:myModules
  2. 保存一个名为初始化的.py此文件夹中的空白Python文件。该文件不必包含任何语法。稍后,如果您愿意,您可以在此文件中设置模块要求。
  3. 保存您的模块到这个文件夹EX:myGamesModule.py

在空闲(或取蟒蛇连接IDE使用)类型:

从myModules导入myGamesModule从myModules进口myGamesModule as myGmMod

这应该导入你的模块,然后你可以调用类等 ex myGmMod.Pl ayer()

我相信这是正确的,因为我刚刚完成了它并没有问题。

0

将一个空白文件称为init.py添加到模块文件夹中。这告诉蟒蛇该文件夹是一个包,允许你从它 导入的文件名应该是

__init__.py 

计算器不断格式化我的答案和搞乱thngs起来。多数民众赞成在每一边两个下划线init