LINUX.ORG.RU

[emacs][ipython]Проблема с флагом --colors


0

1

Настраивал emacs, как ide для python'а по

http://pedrokroger.com/2010/07/configuring-emacs-as-a-python-ide-2/

В питон-моде при C-c ! ipython валится с:

[TerminalIPythonApp] Unrecognized flag: '--colors'

~/.emacs:

(add-to-list 'load-path "~/.emacs.d/python-mode")
(add-to-list 'load-path "~/.emacs.d")


(setq py-python-command-args '( "--colors" "Linux"))
(require 'python-mode)
(require 'ipython)


(require 'lambda-mode)
(add-hook 'python-mode-hook #'lambda-mode 1)
(setq lambda-symbol (string (make-char 'greek-iso8859-7 107)))
(require 'anything)
(require 'anything-ipython)
(when (require 'anything-show-completion nil t)
   (use-anything-show-completion 'anything-ipython-complete
                                 '(length initial-pattern)))



Как побороть?

Ответ на: комментарий от n01r

ipython --colors=Linux работает.

Вопрос в том, почему emacs с ним не работает. man ipython был сделан значительно раньше вопроса.

aedeph ()
Ответ на: комментарий от n01r

Проверено что? ipython без = съел, но как это соотносится с emacs'ом? Ошибка вылетает и без setq, т.е. при дефолтных настройках.

aedeph ()
Ответ на: комментарий от aedeph

> но как это соотносится с emacs'ом?

В моем случае `ipython --color Linux' (0.11) вылетает именно с такой ошибкой (связь с емаксом такая, что список, вестимо, передается как отдельные аргументы).

ipython без = съел

Странно... Можно точную команду?

без setq, т.е. при дефолтных настройках.

Еще более странно, по умолчанию там "-i", проверьте: не подхватывается ли левый конфиг.

n01r ★★ ()
Ответ на: комментарий от n01r

А пардон, похоже что это `ipython.el' виноват... он у вас свежий? (у меня пытался `-colors' с ошибкой передавать).

Походу его в `python-mode.el' интегрировали, укажите вместо него:

(setq py-shell-name «ipython»)

n01r ★★ ()
Ответ на: комментарий от n01r

Да, виноват оказался ipython и ipython.el, который не меняли после выхода 0.11. Он отказывается принимать флаг, как список, что решилось грязной правкой ipython.el.

python-mode у меня старый, там интеграции еще нет.

aedeph ()
Ответ на: комментарий от anonymous

Не поможет, так как не изменит передачу флага '-colors Linux' внутри самого ipython.el :

(unless (member "-colors" py-python-command-args)
      (setq py-python-command-args
            (nconc py-python-command-args
                   (list "-colors"
                         (cond
                           ((eq frame-background-mode 'dark)
                            "Linux")
                           ((eq frame-background-mode 'light)
                            "LightBG")
                           (t ; default (backg-mode isn't always set by XEmacs)
                            "LightBG"))))))
    (unless (equal ipython-backup-of-py-python-command py-python-command)
      (setq ipython-backup-of-py-python-command py-python-command))
    (setq py-python-command ipython-command))

Этот код я и убрал.

aedeph ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.