Python Module Importing Issues

只谈情不闲聊 提交于 2020-01-13 16:55:11

问题


I run Windows 7, and I can import built-in modules, but when I save my own script and try to import it in IDLE, I get an error saying that the module doesn't exist.

I use the Python text editor found by clicking "File" and "New Window" from the Python Shell. I save it as a .py file within a Module folder I created within the Python directory. However, whenever i type import module_name in IDLE, it says that the module doesn't exist.

What am I doing wrong, or not doing? I've tried import module_name, import module_name.py, python module_name, python module_name.py


回答1:


Python uses PYTHONPATH environment variable to define a list of folders which should be looked at when importing modules. Most likely your folder is not PYTHONPATH




回答2:


Try to add the module's path to sys.path variable:

import sys

sys.path.append(pathToModule)




回答3:


The way to import your own modules is to place the file in the directory of your program and use the following code:

from Module import *

where Module is the name of your module.




回答4:


Where are you storing the module you created? When I create a module, I do the following:

  1. Create a folder in the lib\sitepackages folder in your python folder ex: myModules
  2. Save a blank python file named init.py in this folder. The file does not have to contain any syntax. Later on, you can set module requirements in this file if you wish.
  3. Save your module into this folder ex: myGamesModule.py

In idle (or whichever python connected IDE you use) type:

from myModules import myGamesModule or from myModules import myGamesModule as myGmMod

That should import your module and then you can call the classes etc ex myGmMod.Player()

I am sure that this is correct, as I have just done it and it was ok.




回答5:


add a blank file called init.py to the module folder. this tells python that the folder is a package and allows you to import from it the file name should be

__init__.py

stackoverflow keeps formatting my answers and messing thngs up. Thats 2 underscores on each side ofv the word init



来源:https://stackoverflow.com/questions/3488548/python-module-importing-issues

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!