как импортировать blog.py (я импортирую папку 'blog') - PullRequest
1 голос
/ 14 мая 2010

мой каталог, я нахожусь в a.py:

my_Project
     |----blog
            |-----__init__.py
            |-----a.py
            |-----blog.py

, когда я 'из блога импортирую что-то' в a.py, он показывает ошибку:

from blog import BaseRequestHandler
ImportError: cannot import name BaseRequestHandler

iдумаю, что это импорт папки блога, а не blog.py

, так как импортировать blog.py

обновленный

, когда я использую блог.blog ', он показывает это:

from blog.blog import BaseRequestHandler
ImportError: No module named blog

updated2

мой sys.path:

['D:\\zjm_code', 'D:\\Python25\\lib\\site-packages\\setuptools-0.6c11-py2.5.egg', 'D:\\Python25\\lib\\site-packages\\whoosh-0.3.18-py2.5.egg', 'C:\\WINDOWS\\system32\\python25.zip', 'D:\\Python25\\DLLs', 'D:\\Python25\\lib', 'D:\\Python25\\lib\\plat-win', 'D:\\Python25\\lib\\lib-tk', 'D:\\Python25', 'D:\\Python25\\lib\\site-packages', 'D:\\Python25\\lib\\site-packages\\PIL']


zjm_code
    |-----a.py
    |-----b.py

a.py это:

c="ccc"

b.py - это:

from a import c
print c

, и когда я выполняю b.py, я показываю это:

> "D:\Python25\pythonw.exe"  "D:\zjm_code\b.py" 
Traceback (most recent call last):
  File "D:\zjm_code\b.py", line 2, in <module>
    from a  import c
ImportError: cannot import name c

Ответы [ 2 ]

1 голос
/ 14 мая 2010

Когда вы находитесь в a.py, import blog должен импортировать локальный blog.py и ничего больше. Цитирование документов :

Модули ищутся в списке каталогов, заданном переменной sys.path, которая инициализируется из каталога, содержащего входной скрипт

Так что я предполагаю, что каким-то образом имя BaseRequestHandler не определено в файле blog.py.

0 голосов
/ 14 мая 2010

что происходит, когда вы:

import blog

Попробуйте вывести свой sys.path, чтобы убедиться, что у вас есть правильный каталог для вызова модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...