Я изменил название вопроса, чтобы оно соответствовало фактической причине моей проблемы.
В моей установке 14.04 подкоманды ipython
не работают:
$ ipython locate
[TerminalIPythonApp] WARNING | File not found: u'locate'
Это похоже на другую проблему из более ранних выпусков Ubuntu и IPython. У меня есть «сток» ipython
с Ubuntu 14.04.
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
Type "copyright", "credits" or "license" for more information.
IPython 1.2.1 -- An enhanced Interactive Python.
Я обнаружил, что, например, вызов ipython2.7 locate
работает, и на данный момент это своего рода обходной путь, но он генерирует предупреждение:
$ ipython2.7 locate
/usr/lib/python2.7/dist-packages/IPython/frontend.py:30: UserWarning: The top-level `frontend` package has been deprecated. All its subpackages have been moved to the top `IPython` level.
warn("The top-level `frontend` package has been deprecated. "
/home/whoever/.config/ipython
Есть ли хороший чистый способ исправить это?
Я чувствую немного глупого "ответа" на мой собственный вопрос, когда это действительно - вопрос ошибки пилота. С другой стороны, у других людей могла бы быть та же проблема, которую я имел, забывая, что мы умно исказили общую команду оболочки, и затем задающийся вопросом, почему она больше не работает, как рекламируется. Эта проблема несколько раз кусала меня.
решение, если Ваш ~/.bash_profile или ~/.bashrc файлы имеют команды "псевдонима" в них и они не работают как ожидалось, должен попытаться назвать программу ее явным путем. В моем случае
ipython somecommand somescript.py
триггеры расширение псевдонима оболочки, но
/usr/bin/ipython somecommand somescript.py
не Делает.
Для предотвращения оболочки expations псевдонима в ударе можно назвать его с помощью или
\ipython whatever
или
"ipython" whatever
спасибо за локализацию проблемы (я имею в виду псевдонимы).