5

最近、EnthoughtPythonディストリビューションを次のようにアップグレードしました

sudo easy_install -U ipython

ただし、コマンドを使用してipythonを起動するとipython、エラーが発生します。

David-Faux-MacBook-Air:core davidfaux$ ipython
Python 2.7.2 |EPD 7.2-2 (32-bit)| (default, Sep  7 2011, 09:16:50) 
Type "copyright", "credits" or "license" for more information.

IPython 0.13.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
[TerminalIPythonApp] Error in loading extension: kernmagic
Check your config files in /Users/davidfaux/.ipython/profile_default
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/ipython-0.13.1-py2.7.egg/IPython/core/extensions.pyc in load_extension(self, module_str)
     90                 __import__(module_str)
     91         mod = sys.modules[module_str]
---> 92         return self._call_load_ipython_extension(mod)
     93 
     94     def unload_extension(self, module_str):

/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/ipython-0.13.1-py2.7.egg/IPython/core/extensions.pyc in _call_load_ipython_extension(self, mod)
    122     def _call_load_ipython_extension(self, mod):
    123         if hasattr(mod, 'load_ipython_extension'):
--> 124             return mod.load_ipython_extension(self.shell)
    125 
    126     def _call_unload_ipython_extension(self, mod):

/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/kernmagic/__init__.py in load_ipython_extension(ip)
     28 
     29 def load_ipython_extension(ip):
---> 30     activate(ip)
     31     activate_aliases(ip)

/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/kernmagic/__init__.py in activate(ip, *args)
     14             continue
     15         magic_name = name[len('magic_'):]
---> 16         ip.shell.define_magic(magic_name, getattr(mymagics, name))
     17 
     18 def activate_aliases(ip, *args):

AttributeError: 'TerminalInteractiveShell' object has no attribute 'shell'

私はグーグルで検索しましたが、見つけた多くの投稿で、ipython構成ファイルのこの行をコメントアウトすると言われていました。

c.TerminalIPythonApp.extensions = ['kernmagic']

ただし、ipythonファイルをコメントアウトするのは大雑把だと思います...後で、 ipythonkernmagic の問題が修正されたことがわかりました。

kernmagicこのエラーがなくなるようにipythonディストリビューションをアップグレードするにはどうすればよいですか?

4

6 に答える 6

5

これは私のために働いた:

hg clone https://bitbucket.org/robertkern/kernmagic
cd kernmagic
python setup.py build
python -c "import setuptools;execfile('setup.py')" bdist_egg
egginst dist/kernmagic-0.0.0-py2.7.egg
于 2013-01-29T14:32:52.013 に答える
4

設定ファイルの行をコメント化/削除できます。kernmagicを使用しなくても問題はありません。実際、.ipython / profile_xxxフォルダーは、人々が物事を変更するために作成されています。

それ以外の場合、カーンマジックを本当にアップグレードしたい場合は、ファイルをアンインストールして削除し、現在のソースから再インストールすることをお勧めします。

また、IIRCカーンマジックの問題はEPDのみの生のIPythonには付属していないため、構成ファイルとシステムから削除することを恐れないでください。

于 2013-01-29T09:45:27.227 に答える
4

EPDのPythonディストリビューションを実行していない場合(またはRichのソリューションが機能しなかった場合):

まず、Mac OSX10.8.4でPython2.7.5| Anaconda 1.6.0(x86_64)|を実行しています。

Mattが述べたように、次のような行をコメントアウトするのが最も簡単です。

# A list of dotted module names of IPython extensions to load.
c.TerminalIPythonApp.extensions = ['kernmagic']

私はこれを見つけました:

~/.ipython/profile_default/ipython_config.py

約1/3の位置に配置する必要があります。これは一時的な解決策であることを指摘する価値があります-kernmagicが何をするのか、それが重要なipython拡張機能であるのかどうかはわかりません。

于 2013-08-19T21:12:13.823 に答える
0

Enthoughtはkernmagicを更新したので、EnthoughtはEPD7.3とipython0.13.1でenpkg同じ問題を修正しました。

sudo enpkg kernmagic
于 2013-08-14T18:34:35.663 に答える
0

kernmagicpython3への手っ取り早いポートを作成しました。この問題がpython-2.xで発生した場合にも機能する可能性があります。

コードへのリンクは次のとおりです。あなたがする必要があるのはkernlabあなたのsite-packagesディレクトリにフォルダ全体を落とすことです。純粋なPythonライブラリのように見えるので、どのプラットフォームでも動作するはずです。

幸運を!

于 2013-09-17T18:55:39.397 に答える
0

私もこの問題に直面しました、私はWindows環境にいます、私はその行を見つけました

C:\Users\Li\.ipython\profile_default\ipython_config.py

前述のように、次のような行をコメントアウトするのが最も簡単です。

# A list of dotted module names of IPython extensions to load.
c.TerminalIPythonApp.extensions = ['kernmagic']
于 2016-05-15T02:28:59.377 に答える