Проблемы с импортом модуля Python

У меня Windows 7, и я могу импортировать встроенные модули, но когда я сохраняю свой собственный скрипт и пытаюсь импортировать его в IDLE, я получаю сообщение об ошибке, говорящее, что модуль не существует.

Я использую текстовый редактор Python, который можно найти, нажав «Файл» и «Новое окно» в оболочке Python. Я сохраняю его как файл .py в папке модуля, которую я создал в каталоге Python. Однако всякий раз, когда я набираю import module_name в IDLE, он говорит, что модуль не существует.

Что я делаю не так или не так? Я пробовал импортировать имя_модуля, импортировать имя_модуля.py, имя_модуля python, имя_модуля python.py


person Justin Meltzer    schedule 15.08.2010    source источник


Ответы (5)


Python использует переменную среды PYTHONPATH для определения списка папок, которые следует просматривать при импорте модулей. Скорее всего ваша папка не PYTHONPATH

person Kozyarchuk    schedule 15.08.2010
comment
Итак, как мне сделать папку PYTHONPATH, а потом как импортировать модуль из этой папки? Кроме того, как мне узнать точный каталог этой папки? Извините за нубские вопросы. - person Justin Meltzer; 15.08.2010

Попробуйте добавить путь к модулю в переменную sys.path:

import sys

sys.path.append(pathToModule)

person dmitko    schedule 15.08.2010
comment
вам нужно выяснить это самостоятельно :) обычно легко сохранить модуль в предопределенное место и добавить это место в переменную sys.path. например если модуль находится в c:\my_modules sys.path.append(rc:\my_modules) - person dmitko; 15.08.2010
comment
Что делает r перед путем? Это сырой текст? - person Justin Meltzer; 15.08.2010
comment
А, только что придумал! Я думал, что сохраняю свой модуль как файл .py, когда это было не так! Глупый я :/ - person Justin Meltzer; 15.08.2010

Чтобы импортировать свои собственные модули, поместите файл в каталог вашей программы и используйте следующий код:

from Module import *

где Модуль — это имя вашего модуля.

person aberkowitz    schedule 15.08.2010

Где вы храните модуль, который вы создали? Когда я создаю модуль, я делаю следующее:

  1. Создайте папку в папке lib\sitepackages в папке python, например: myModules
  2. Сохраните пустой файл Python с именем init.py в этой папке. Файл не должен содержать никакого синтаксиса. Позже вы можете установить требования к модулю в этом файле, если хотите.
  3. Сохраните свой модуль в эту папку, например: myGamesModule.py

В режиме ожидания (или в зависимости от того, какую IDE с подключением к Python вы используете) введите:

из myModules импортировать myGamesModule или из myModules импортировать myGamesModule как myGmMod

Это должно импортировать ваш модуль, а затем вы можете вызывать классы и т. д. ex myGmMod.Player()

Я уверен, что это правильно, так как я только что сделал это, и все было в порядке.

person EMJAY    schedule 19.11.2013

добавьте пустой файл с именем init.py в папку модуля. это сообщает python, что папка является пакетом, и позволяет вам импортировать из нее имя файла, которое должно быть

__init__.py

stackoverflow продолжает форматировать мои ответы и все портит. Это 2 символа подчеркивания с каждой стороны слова init

person moe    schedule 15.04.2014