2011-12-19 14 views
2

私はPythonライブラリに非常に特有の問題があります。私はPythonライブラリのソースをダウンロードし、いくつかのコードを変更し、python setup.py installを使ってライブラリをインストールしました。 元のライブラリにはすでにeasy_installがインストールされていました。後で私はいくつかのソースコードをさらに変更し、再度python setup.py installというコマンドを呼び出しました。コードでライブラリを使用すると、呼び出されるライブラリのバージョンがランダムに取得されます。 easy_install -mpipの両方がアンインストールに成功しても、ライブラリは存続していますが、ライブラリを完全にアンインストールすることはできません。Pythonライブラリの問題

環境はUbuntuの11.04である

編集:私は最新のビルドが呼び出されるPythonのコマンドラインから同じ関数を呼び出しますが、ときに私はそれが古いビルドを呼び出すライブラリを使用していますpython myfile.pyを呼び出すとき。

+0

あなたは、再起動しようとしたことがありますか? – GWW

+0

@GWW私はAmazonサーバー上で実行しています。再起動の余裕がありません – Codevalley

+1

ランダムに言うと、実際にランダムを意味しますか?つまり、同じプログラムを同じ方法で複数回実行し、使用するライブラリのバージョンを変えることができますか?とにかく、どこからライブラリがロードされているのかを知るには、 'library .__ file__'の値を表示できます。これは、ライブラリをロードしたい場合は、そのライブラリをロードするディレクトリを与える必要があります。 –

答えて

1

インストーラは通常、サードパーティのライブラリコードをsite-packagesディレクトリに読み込みます。そのディレクトリに移動して、ライブラリを削除します(新しいバージョンと古いバージョンが含まれます)。その後、新規のインストールを行うことができます(編集したソースのsetup.pyを使用して)。

ライブラリがパス上のどこかにある場合は、あなたがそれを見つけることができます。

>>> import somelib 
>>> print somelib.__file__ 
+0

somelib .__ file__を使用して、インストールされているライブラリのすべてのバージョンを再検索します。それぞれを削除し、 'python setup.py install'をもう一度使っていました。 – Codevalley

+0

nice、またはinspect.getabsfile(somelib) – sunqiang