PyDev で Eclipse (Galileo) を実行します。モジュール urllib2 を使用しようとしていますが、実験を始めたばかりです。私が行っているチュートリアルの 1 つは、私の urllib2.urlopen() クラスで geturl() を呼び出すように言っています。そうしましたが、期待どおりに機能しました。
しかし、Eclipse の便利な "ctrl+space" ショートカットを使用してクラス メソッドをブラウズしようとしたとき、私は驚きました。
を実行するとdir(page)
、あらゆる種類のきちんとした方法で遊ぶことができます。
['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', 'fileno', 'fp', 'getcode', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', 'readlines', 'url']
これはEclipseの問題ですか?それともユーザーエラー?これを IDLE に入れると、IDLE のオートコンプリート機能を使用して利用可能なメソッドを確認できますが、同じ機能を PyDev で動作させることはできません。職場の PC では動作していると思いますが、自宅の PC (現在使用している PC) は「正常ではない」ようです。
Google/Stackoverflow でできる限り調べましたが、ここで何が問題なのかを理解するのに役立つ結果を返すキーワードがわかりません。あなたが提供できる洞察は素晴らしいでしょう!
(Python 2.6、Debian (#!) 仮想環境で実行、windows7 ホスト - いずれかが重要な場合)
注意: 私は Debian 側でのみ開発しているため、Win7 では Eclipse を使用していません。
更新1:
「ブラウザを下にスクロールすると、ブラウザは何で終了しますか?」と答えるには、subclasshookで終わります。リストの一番下がどのように見えるかについては、下の写真を参照してください(すべてプライベートです、メソッドなし)。
更新 2:
以前の投稿で示唆されたように、私は設定メニューに入り、オートコンプリート タブとインタープリター設定タブをチェックしました。ファイアウォール」またはファイアウォールがあることを示す任意の兆候。
ただし、別のテストを行いました。下の画像を参照してください。
のオートコンプリート機能は問題なく機能しwx
ます。以前の投稿で私に言われたことを誤解したのかもしれませんが、page
クラスに魔法のメソッドが表示されているのは、PyDev が他に何を入力すればよいかわからないためであることを理解しているため、明らかに混乱しています。ここからどこへ行けばいいのかわかりません。それまでの間、PyDev のドキュメントを読み続けて、解決できるかどうかを確認します。
そして、私はほとんど忘れていました - 私のコードで urllib2.urlopen() の上にマウスを置くと、doc 文字列が表示されます。この壊れていると思われる機能についての洞察が得られるかどうかはわかりません。
更新3:
PyDev での「強制ビルトイン」のみのオートコンプリートに関する誰かのコメントに従って、「urllib2」を強制ビルトインの設定の下に追加しました。以下は私が得ているものの画像です...
私はいくつかの新しいメソッドを持っています...しかし、私が期待していたものではありません(つまり__dict__
、私が呼び出したときに取得したものdir(page)
、特にgeturl()が表示されません)。