Ipython: ipythonノートブックのソケットエラー99

作成日 2014年07月23日  ·  13コメント  ·  ソース: ipython/ipython

やあ
ノートブックを開こうとすると、ソケットエラー99「要求されたアドレスを割り当てることができません」が表示されます。 これはシステムの更新後に発生しましたが、Ipythonは2.1.0-62から2.1.0-63(SuSEパッケージ)にのみ更新されましたが、次のことを確認しましたが、成功しませんでした。

  1. ループバックデバイスが実行されているかどうかを確認しました(inet addr:127.0.0.1 Mask:255.0.0.0を使用しています)
  2. 標準ポートがすでに割り当てられているかどうかをnetstat-lpで確認しました(割り当てられていませんでした)
  3. 小さなテストスクリプトを実行して、ポート8888でtornadoWebサーバーを起動します。
  4. デフォルトのプロファイルを作成し、ipythonを再度実行します
  5. 明示的なホストと(ランダムな)ポートでipythonを開始しました(ipython Notebook --init --ip = 'localhost' --port = 49151)
  6. ルートとして試してみました
  7. ファイアウォールがブロックされていないことを確認しました
  8. tmpに書き込めることを確認しました(必要な場合)

だから私は他に何ができるのか途方に暮れています。 私が他に何ができるかについてのポインタはありがたいです。

起動メッセージは
tmp /> ipython Notebook --init --log-level = 50 --ip = 'localhost' --port = 49151 [15:46:39]
トレースバック(最後の最後の呼び出し):
ファイル "/ usr / bin / ipython"、5行目、
start_ipython()
ファイル "/usr/lib/python2.7/site-packages/IPython/ init .py"、行120、start_ipython
launch_new_instance(argv = argv、 _kwargs)を返しますファイル "/usr/lib/python2.7/site-packages/IPython/config/application.py"、563行目、launch_instanceapp.initialize(argv)ファイル ""、2行目、初期化中ファイル "/usr/lib/python2.7/site-packages/IPython/config/application.py"、92行目、catch_config_errorreturn method(app、* args、* _kwargs)ファイル「/usr/lib/python2.7/site-packages/IPython/terminal/ipapp.py」、320行目、初期化中super(TerminalIPythonApp、self).initialize(argv)ファイル ""、2行目、初期化中ファイル "/usr/lib/python2.7/site-packages/IPython/config/application.py"、92行目、catch_config_errorリターンメソッド(アプリ、_args、* _ kwargs)ファイル "/usr/lib/python2.7/site-packages/IPython/core/application.py"、行381、初期化中self.parse_command_line(argv)parse_command_lineのファイル "/usr/lib/python2.7/site-packages/IPython/terminal/ipapp.py"、行315super(TerminalIPythonApp、self).parse_command_line(argv)を返しますファイル ""、2行目、parse_command_lineファイル "/usr/lib/python2.7/site-packages/IPython/config/application.py"、92行目、catch_config_errorリターンメソッド(アプリ、_args、* _ kwargs)parse_command_lineのファイル "/usr/lib/python2.7/site-packages/IPython/config/application.py"、行475self.initialize_subcommand(subc、subargv)を返しますファイル ""、2行目、initialize_subcommandファイル "/usr/lib/python2.7/site-packages/IPython/config/application.py"、92行目、catch_config_errorリターンメソッド(アプリ、_args、* _ kwargs)initialize_subcommandのファイル "/usr/lib/python2.7/site-packages/IPython/config/application.py"、行413self.subapp.initialize(argv)ファイル ""、2行目、初期化中ファイル "/usr/lib/python2.7/site-packages/IPython/config/application.py"、92行目、catch_config_errorリターンメソッド(アプリ、_args、* _ kwargs)ファイル "/usr/lib/python2.7/site-packages/IPython/html/notebookapp.py"、745行目、初期化中self.init_webapp()ファイル "/usr/lib/python2.7/site-packages/IPython/html/notebookapp.py"、行632、init_webappself.http_server.listen(port、self.ip)ファイル「/usr/lib64/python2.7/site-packages/tornado/tcpserver.py」、116行目、listenソケット= bind_sockets(ポート、アドレス=アドレス)bind_socketsのファイル "/usr/lib64/python2.7/site-packages/tornado/netutil.py"、行103sock.bind(sockaddr)ファイル "/usr/lib64/python2.7/socket.py"、224行目、methgetattr(self._sock、name)(を返します args)
エラー:[Errno99]要求されたアドレスを割り当てることができません

私のシステム構成は
{'commit_hash': '681fd77'、
'commit_source': 'インストール'、
'default_encoding': 'UTF-8'、
'ipython_path': '/ usr / lib / python2.7 / site-packages / IPython'、
'ipython_version': '2.1.0'、
'os_name': 'posix'、
'プラットフォーム': 'Linux-3.11.10-17-default-x86_64-with-SuSE-13.1-x86_64'、
'sys_executable': '/ usr / bin / python'、
'sys_platform': 'linux2'、
'sys_version': '2.7.6(デフォルト、2013年11月21日、15:55:38)[GCC]'}

私の竜巻バージョンは
名前:python-tornado /バージョン:3.2.1-2.1 /アーチ:x86_64

最も参考になるコメント

そして、 --ip=127.0.0.1を試してみたらどうなるでしょうか?

全てのコメント13件

そして、 --ip=127.0.0.1を試してみたらどうなるでしょうか?

やあ

それはうまくいきます(それを考えるべきでした)。 私はそれをipython_notebook_config.pyに入れました。 なぜ行動が変わったのだろうか...
だから私の側から私はこの問題を閉じることができました。 エラーメッセージを解決策を示す意味のあるものに変更できる場合にのみ、この問題を未解決のままにしておきます。 しかし、多分この問題はあまりにも具体的です...

迅速な回答をありがとうございました!

#6191から説明をコピー:

IPythonはデフォルトでローカルホストでリッスンします。 127.0.0.1は同じように動作するはずであり、ほとんどすべての場合に動作します。 これを別の方法で処理できる場合には、ローカルプロキシやファイアウォールが含まれます(通常、動作の意図的な違いではなく、構成の監視が原因です)。 ローカルホストが機能し、127が機能しない、またはその逆の場合が見つかったため、デフォルトに対して明確に正しい答えはありません。

ファイアウォールやプロキシ構成はありますか? もしそうなら、あなたはその構成を制御しますか? この動作はネットワーク設定のバグとして説明しますが、修正する権限があるとは限りません。

ありがとう、127.0.0.1を指定すると、ソケットエラーも解決しました

クラウドサーバーで使用する場合は、 --ip=0.0.0.0使用できます。

この問題を継続していただきありがとうございます。クラウドサーバー上にノートブックサーバーをセットアップしています。 また、リスニングIPを「0.0.0.0」として指定すると、これと同じ問題が解決します。

おかげで、私は同じ問題を抱えていました:)

解決してくれてありがとう!

検索結果から来た人の場合:タイプミスとipv6構成について/etc/hostsを確認してください。 localhostは、ipv6( ::1 )ではなく、ipv4ループバック( 127.0.0.1 )のみを指す必要があります。 これは、jupyterだけでなく、他のものを壊す可能性があります。

たとえば、これは間違っています。
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
これはOKです:
::1 localhost6 localhost6.localdomain6

https://github.com/codenvy/codenvy/issues/2427#issuecomment -397347888
https://bugzilla.redhat.com/show_bug.cgi?id=211800#c4

@mlazowikどうもありがとう! これで私の問題は解決しました-これと同じ問題を抱えているが、127.0.0.1ソリューションを選択した人は他に何人いるのだろうか。 これは正しい解決策です(ホスト名ルックアップテーブルが正しいことを確認してください)。 私のインスタンス(Arch Linux)では、 /etc/hostsは次のように「出荷」されました。

127.0.0.1       localhost.localdomain    localhost
::1             localhost.localdomain    localhost

そして、私はそれを次のように修正しました:

127.0.0.1       localhost.localdomain    localhost
::1             localhost6.localdomain6  localhost6

クラウドサーバーで使用する場合は、 --ip=0.0.0.0使用できます。

私の場合(Macの場合)、-ip = 0.0.0.0のみがローカルで実行されているDockerで機能します。

私の場合、IPv6で重複した:: 1ループバックアドレスの/ etc / hostsが原因です。
2番目のループバックアドレス:: 1をコメントアウトした後、エラーはなくなりました。

Screenshot from 2019-12-14 16-32-13

@mlazowik同じ最終的な解決策で同じ問題が発生しましたが、 man /etc/hosts例にこれが含まれているため、問題を理解できません

# The following lines are desirable for IPv4 capable hosts
127.0.0.1       localhost
127.0.1.1       thishost.mydomain.org  thishost

[...]

# The following lines are desirable for IPv6 capable hosts
::1             localhost ip6-localhost ip6-loopback

::1エントリからlocalhostを削除しました(他の2つは保持します)。すべて問題ありません。 また、 ip6ipv6キーワードだと思いましたが、おそらくip6-foofoo6はどちらも問題ありません(たとえば、何らかの形の名前マングリングとipv4相当)?

このページは役に立ちましたか?
0 / 5 - 0 評価