2015-09-19 5 views
3

Здравствуйте, я новичок в python, поэтому прошу прощения, если это глупый вопрос. Я работаю над учебником для python, и я застрял в одном из первых упражнений!ImportError: No module named function

У меня есть файл с именем filename, созданный в текстовом редакторе (возвышенный), сохраненный в /home/emily/Documents/pythonfiles. Я использую Ubuntu. Внутри этого файла у меня есть следующий код Python:

def functionname(): 
    print("hello") 

я изменить свой каталог в /Documents/pythonfiles в терминале. Затем я загружаю python, набрав python. Затем, получив подтверждение загрузки python, введите from filename import functionname. Я получаю следующую ошибку.

ImportError: No module named filename 

Я искал решение в Интернете и обнаружил, что это может быть проблема с тем, что python не ищет нужный каталог. Поэтому я запускаю следующее в оболочке Ubuntu.

export PYTHONPATH=$PYTHONPATH:/home/emily/Documents/pythonfiles 

Однако, я по-прежнему получаю ту же ошибку, что и раньше. Что я делаю не так?

+3

Ваш файл называется 'filename' или' filename.py'? Для импорта необходимо иметь расширение '.py'. – MattDMo

+0

Мой файл был просто назван именем файла. Я сохранил его под именем filename.py, и теперь он работает отлично. Спасибо за вашу помощь! – emily

ответ

2

Вы уверены, что filename в этом каталоге? Как вы можете прочитать по этой ссылке https://docs.python.org/2/tutorial/modules.html в разделе 6.1.2. Путь поиска модуля:

Каталог, содержащий выполняемый сценарий, помещается в начале пути поиска, опережая путь стандартной библиотеки.

Вы проверили, какая переменная sys.path содержит?

Кроме того, файл должен иметь имя «filename.py», а не «имя файла».

+0

Как указывал MattDMo выше, проблема заключалась в том, что файл был назван именем файла, а не filename.py, как вы упомянули. Я переименовал свой файл, и теперь он работает. Спасибо за вашу помощь. – emily