2015-04-15 5 views
1

Для записи кода требуется одно имя модуля «fragbuilder». Все отлично работало, пока я не записал этот код.ошибка импорта в python

когда я импортировать модуль из командной строки его успешно импортирован, но когда я импортировать тот же модуль из сценария или из IDE его показывая модуль ошибки не найден:

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

пример сценарий приведен ниже:

$ python test.py 

import fragbuilder 
from fragbuilder import peptide 
print "imported successfully" 



Error: 

Traceback (most recent call last): 
    File "new.py", line 3, in <module> 
    import fragbuilder 
    File "/usr/lib/python2.7/dist-packages/fragbuilder/__init__.py", line 1, in <module> 
    from peptide import Peptide 
    File "/usr/lib/python2.7/dist-packages/fragbuilder/peptide.py", line 3, in <module> 
    import openbabel 
    File "/usr/lib/python2.7/dist-packages/openbabel.py", line 46, in <module> 
    from new import instancemethod as new_instancemethod 
    File "/home/zebrafish/Desktop/edited_ds/new/new.py", line 4, in <module> 
    from fragbuilder import peptide 
ImportError: cannot import name peptide 

, что должно быть вероятной причина этой ошибки: пожалуйста, предложите спасибо

+0

Похоже, что ваш файл называется 'new.py' вместо' test.py' (см. Вторую строку backtrace) и что где-то в модуле 'openbabel', импортированном в пакете' fragbuilder', что-то ожидает модуль называемый 'new'. Таким образом, ваш локальный 'new.py' затеняет ожидаемый' новый' модуль и сбой импорта. –

+0

спасибо, что это работает – jax

ответ

1

Вероятно, вы добавили new.py к /home/zebrafish/Desktop/edited_ds/new/ который interfers с питона встроенных new модуля (должны будет находиться по адресу /usr/lib/python2.7/new.py)

Рецепт: переименовать new.py в ваш проект на что-то еще.

+0

Да, это правда, после переименования «new.py» все работает плавно благодаря большому счету. – jax