Python模块导入问题

时间:2010-08-15 18:00:50

标签: python module directory importerror

我运行Windows 7,我可以导入内置模块,但是当我保存自己的脚本并尝试在IDLE中导入它时,我收到错误消息,说该模块不存在。

我使用Python文本编辑器,点击Python Shell中的“File”和“New Window”。我将它保存为我在Python目录中创建的Module文件夹中的.py文件。但是,每当我在IDLE中键入import module_name时,它都表示该模块不存在。

我做错了什么,或者没做错?我已经尝试了import module_name,import module_name.py,python module_name,python module_name.py

5 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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

import sys

sys.path.append(pathToModule)

答案 2 :(得分:0)

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

from Module import *

其中Module是模块的名称。

答案 3 :(得分:0)

您在哪里存储您创建的模块?当我创建模块时,我会执行以下操作:

  1. 在python文件夹ex:myModules
  2. 的lib \ sitepackages文件夹中创建一个文件夹
  3. 在此文件夹中保存名为 init .py的空白python文件。该文件不必包含任何语法。稍后,如果您愿意,可以在此文件中设置模块要求。
  4. 将您的模块保存到此文件夹ex:myGamesModule.py
  5. 在空闲(或您使用的任何python连接的IDE)中输入:

    来自myModules的

    导入myGamesModule 要么 来自myModules的将myGamesModule导入为myGmMod

    那应该导入你的模块然后你可以调用类等 ex myGmMod.Player()

    我确信这是正确的,因为我刚刚完成它并且没关系。

答案 4 :(得分:0)

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

__init__.py

stackoverflow不断格式化我的答案并搞砸了。这个单词init

的每一侧都有2个下划线