2015-09-07 2 views
0

Я работаю с научным пакетом под названием TheCannon. Все написано на Python, и я установил его с помощью pip.Python - ошибка «Без модуля с именем»

До двух дней назад он работал отлично. Сегодня, когда я пытался использовать его, это случилось:

Traceback (most recent call last): 
    File "test2.py", line 4, in <module> 
    from TheCannon import dataset 
ImportError: No module named TheCannon 

Я уже удалил и снова установил его, и ничего не изменилось. Кто-нибудь есть идеи, почему python больше не находит пакет и как его решить? Спасибо.

+3

Скорее всего, у вас есть несколько версий python, и ваш пип использует другой, чем тот, с которого вы вызываете это. Или (аналогичная проблема) разные виртуальные среды. Что касается решения проблемы, зависит от того, какую ОС вы используете и т. Д. –

+0

Какой питон и какая операционная система вы используете? Какие изменения вы внесли? Если вы работаете в Windows, проверили ли вы свой путь? Вы уверены, что капитализация верна? –

+0

Проверьте путь и убедитесь, что у вас нет нескольких версий python. – TomNash

ответ

0

Чтобы устранить проблему, это проблема с пути.

На Ubuntu это довольно легко исправить. Чтобы узнать путь текущего исполняемого файла Python, сделайте следующее:

$ which python 
# this will probably give you /usr/bin/python or /usr/local/bin/python by default, in your case, probably something quite different 
/usr/bin/python 

Затем вам нужно изменить ссылку собственно Python исполняемый на этом месте.

# move to symlink to another file 
$ sudo mv /usr/bin/python /usr/bin/python_bak 
# then relink the default Python on Ubuntu to the original 
$ sudo ln -s /usr/bin/python2.7 /usr/bin/python 

Питон исполняемый по умолчанию в Ubuntu для системы в /usr/bin/python2.7, поэтому предпочтительно симлинки это путь «который питон» дает. (Кроме того, # я имею в виду комментарий, а не суперпользователь).

Если вам нужно отменить это, просто отменить перемещенный симлинк по:

$ sudo mv /usr/local/bin/python_bak /usr/local/bin/python 

Также ... никогда не ссылаются Python3 по умолчанию Python на Ubuntu, так же, как, как вы бы не сделать python2 как установленная по умолчанию на Arch.

Смежные вопросы