Я использую EPD-версию Python и IPython. После установки некоторых модулей с помощью easy_install я заметил, что, хотя они могут быть импортированы, их нельзя завершить вкладкой. Они существуют на пути, но, хотя включенные модули (pylab, readline, math) могут быть завершены , эти новые модули не могут.
Кто-нибудь знает, на что мне обратить внимание, чтобы найти проблему? Я проверил, что пакеты находятся в том же месте, что и другие модули:
In [1]: import pylab
In [2]: pylab
Out[2]: <module 'pylab' from '/Library/Frameworks/Python.framework/Versions/5.0.0/lib/python2.5/site-packages/pylab.pyc'>
In [3]: import BeautifulSoup
In [4]: BeautifulSoup
Out[4]: <module 'BeautifulSoup' from '/Library/Frameworks/Python.framework/Versions/5.0.0/lib/python2.5/site-packages/BeautifulSoup-3.1.0.1-py2.5.egg/BeautifulSoup.pyc'>
Может быть, что-то не правильно обрабатывает .eggs
? Спасибо.
Обновление : В ответ на сообщение gnibbler я обнаружил, что завершение вкладки вызывает исключение в строке 633 в completeter.py по адресу:
try:
ret = self.matches[state].replace(magic_prefix,magic_escape)
return ret
except IndexError:
return None
Но что является причиной неудачи ...
Обновление :
In [5]: from Bea<tab_here>
*** COMPLETE: <Bea> (0)
matches: []
state: 0
Так что это просто говорит о том, что список совпадений является пустым набором: совпадений нет. Это все еще не находит модуль. Я попытаюсь выяснить, где matches
получает модули, которые ищет, когда у меня есть время.