2011-07-16 13 views
1

皆さん!古いモジュールと同じモジュールをインポートする方法

カールオブジェクト

conn = pycurl.Curl() 

エラーメッセージビルトインpycurlモジュールを定義していません:

"pycurl" モジュールはので、私はダウンロード

カール一切の属性を持っていませんが最新のpycurlをインストールしてインストールしますが、インタラクティブなPythonインタプリタでコードを実行した場合にのみ動作し、スクリプトファイルとして実行したときも同じエラーが発生します。

スクリプトファイルとして実行すると、古いpycurlモジュールが含まれているようです。

新しいpycurlモジュールをインポートする方法、または古いpycurlモジュールを削除する方法はありますか?ありがとうございます。

PS。

pydocでは、 '。'の下にあるpycurl(旧)モジュールは、 「/usr/local/lib/python2.7/dist-packages」の下の1つ(new)は灰色でクリック不可能なページにリダイレクトされます。

答えて

2

それが見つかったときの問題。 Pythonで使用される基本的なインポートハンドラは、モジュールを見つけるためにsys.pathで指定されたパスを調べ、pycurlと一致するものを見つけたらそれを使用し、それ以上は見えません。

pycurlのコピーをモジュール検索パスの上位に置くか、独自のスクリプトでのように、pycurlパッケージを含むディレクトリへのパスを設定する必要があります。

+0

ありがとう、それは非常にうまくいきます! sys.path.insert()の最初の引数を0に設定すると動作します。 –

+0

@gbstack:それを位置1に挿入しようとしても機能しない場合は、sysのディレクトリに不正な 'pycurl'があります.path [0] 'は、スクリプトのディレクトリです。あなたは0でそれを挿入することを歓迎しますが、私は自分自身のディレクトリ内のモジュール/パッケージが常に勝つことを知っているようなものに対しては1がより安全であることが分かります。 –

関連する問題