私はpython setup.py install
と一緒にpythonパッケージをインストールしました。
アンインストールする方法
手動ですべてのファイルを削除し、インストールによって手動で行われたものを元に戻す必要があります。
あなたはすべてのファイルのリストがわからない場合は、--record
オプションでそれを再インストールし、これが生産リストを見てみることができます。
インストールされているファイルのリストを記録するには、次のようにします。
python setup.py install --record files.txt
アンインストールしたい場合は、xargsを使用して削除することができます。
xargs rm -rf < files.txt
Windowsを実行している場合は、Powershellを使用してください。
Get-Content files.txt | ForEach-Object {Remove-Item $_ -Recurse -Force}
それから、含まれているディレクトリも削除します。 macOS
に/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/my_module-0.1.Egg/
。ファイルはありませんが、Pythonは空のモジュールをインポートします。
>>> import my_module
>>> my_module.__file__
None
削除すると、Pythonは次のように表示します。
>>> import my_module
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'my_module'
私にとっては、次のものが主に機能します。
pIPがインストールされている、例えば:
$ easy_install pip
あなたのインストールしたパッケージはpipの観点からどのように命名されていますか。
$ pip freeze
これはあなたがインストールした(そしてpipによって検出された)すべてのパッケージの名前をリストします。名前はいつか長くすることができます、そしてそれから#Egg=
の後に表示されているパッケージの名前だけを使用してください。ほとんどの場合、バージョン部分を無視することもできます(==
または-
の後に続くものは何でも)。
それからパッケージをアンインストールします。
$ pip uninstall package.name.you.have.found
パッケージの削除について確認を求められた場合、あなたはラッキーガイであり、削除されます。
pipは、pipによってインストールされたすべてのパッケージを検出します。それはまたeasy_installかsetup.pyを通してインストールされたパッケージの大部分を検出するでしょう、しかしこれはいくつかのまれなケースで失敗するかもしれません。
これは、MS Windowsでttr.rdstmc
という名前のパッケージを使った私のローカルテストの実際のサンプルです。
$ pip freeze |grep ttr
ttr.aws.s3==0.1.1dev
ttr.aws.utils.s3==0.3.0
ttr.utcutils==0.1.1dev
$ python setup.py develop
.....
.....
Finished processing dependencies for ttr.rdstmc==0.0.1dev
$ pip freeze |grep ttr
ttr.aws.s3==0.1.1dev
ttr.aws.utils.s3==0.3.0
-e hg+https://[email protected]/vlcinsky/ttr.rdstmc@d61a9922920c508862602f7f39e496f7b99315f0#Egg=ttr.rdstmc-dev
ttr.utcutils==0.1.1dev
$ pip uninstall ttr.rdstmc
Uninstalling ttr.rdstmc:
c:\python27\lib\site-packages\ttr.rdstmc.Egg-link
Proceed (y/n)? y
Successfully uninstalled ttr.rdstmc
$ pip freeze |grep ttr
ttr.aws.s3==0.1.1dev
ttr.aws.utils.s3==0.3.0
ttr.utcutils==0.1.1dev
とにかく、上で書かれていることのすべてがまだ適用されます、現在利用可能な小さな修正があります。
最近のPythonバージョンには、オフラインのときでもpipをインストールできるパッケージensurepip
が付属しています。
$ python -m ensurepip --upgrade
(Debian Jessieのような)いくつかのシステムではこれが利用できません(システムのpythonインストールが壊れるのを防ぐため)。
grep
またはfind
を使用する上記の例では、grep
がインストールされていると仮定しています。私は(私のマシンにMS Windowsがあったときに)linuxユーティリティのセット(grepを含む)をインストールしました。あるいは、ネイティブのMS Windows find
を使用するか、単にそのフィルタリングを無視して、検出されたpythonパッケージのもう少し長いリストから名前を見つけます。
#1の答えには問題があります。
xargs
コマンドは失敗し、個々の単語に一致するファイル/ディレクトリを削除します。-r
内のrm -rf
は不要であり、最悪の場合、不要なものを削除する可能性があります。代わりに、unixライクの場合:
Sudo python setup.py install --record files.txt
# inspect files.txt to make sure it looks ok. Then:
tr '\n' '\0' < files.txt | xargs -0 Sudo rm -f --
そして窓のために:
python setup.py bdist_wininst
dist/foo-1.0.win32.exe
setup.py
installのアンインストールには解決できない問題もありますが、これは一般的なケースでは邪魔になりません。より完全な答えについては、このWikiページを参照してください。
最初にインストールしたファイルを記録してください。以前にsetup.py install
を実行したことがある場合でも、このコマンドを繰り返すことができます。
python setup.py install --record files.txt
あなたがアンインストールしたいときは、ただすることができます:
Sudo rm $(cat files.txt)
Rmコマンドは空白で区切られたファイルのリストを削除するために使用します。インストールレコードはそのようなリストにすぎません。
これでpythonはインストール中にpip
をインストールすることを選択できるようになりました(私はWindows上にいますが、少なくともpythonはWindows用です)。 pythonのインストール中にpip
をインストールすることを選択したことを考えると(デフォルトであるため実際には選択する必要はありません)、pip
は既にインストールされています。それから、コマンドプロンプトでpip
と入力すると、ヘルプが表示されるはずです。そこに必要な使い方の説明があります。例えば。 pip list
はインストールされているパッケージのリストを表示します。あなたが使用することができます
pip uninstall package_name
不要になったパッケージをアンインストールします。もっと読む ここ(pipドキュメント) 。
怠惰な方法:あなたが配布パッケージを作成した後にあなたが最初にそれを再インストールするならば、単にWindowsインストールメニュー(あなたがWindowsを使っているなら)またはrpmコマンドからアンインストールしなさい。
例えば、
python setup.py bdist_wininst
dist/foo-1.0.win32.exe
( "foo"はもちろんの例です)。
あなたのpythonパッケージディレクトリに行き、あなたの.Eggファイルを削除してください。
Python 2.6(ubuntu)の場合:/usr/local/lib/python2.6/dist-packages/
おそらくあなたは代替手段としてこれを行うことができます -
1)pythonのバージョンを入手する -
[linux machine]# python
Python 2.4.3 (#1, Jun 18 2012, 14:38:55)
- >上記のコマンドは現在のpythonのバージョンを 2.4.3 にします。
2)pythonのインストールディレクトリを入手します -
[linux machine]# whereis python
python: /usr/bin/python /usr/bin/python2.4 /usr/lib/python2.4 /usr/local/bin/python2.5 /usr/include/python2.4 /usr/share/man/man1/python.1.gz
- >上記のコマンドから - /usr/lib/python2.4/site-packages というインストールディレクトリを取得できます。
3)ここからパッケージとpython Eggファイルを削除できます。
[linux machine]# cd /usr/lib/python2.4/site-packages
[linux machine]# rm -rf paramiko-1.12.0-py2.4.Egg paramiko-1.7.7.1-py2.4.Egg paramiko-1.9.0-py2.4.Egg
これは私のために働いた..そして私は私を困惑させていたパッケージをアンインストールすることができました:)
私はあなたがsetup.pyを開き、パッケージ名を見つけ、そしてそれをアンインストールするようにpipに頼むことができると思います。
名前が 'METADATA'変数で利用可能であると仮定します。
pip uninstall $(python -c "from setup import METADATA; print METADATA['name']")
正確に質問に答えるのではなく、毎日私に役立つ何か
でパッケージをインストールする
pip install .
これはパッケージを$HOME/.local
に置きます。でアンインストール
pip uninstall <package_name>
Martinが言ったことを拡張して、インストールの出力とちょっとしたbashスクリプトを記録しておくと、うまくうまくいきます。これが私のやり方です...
for i in $(less install.record);
Sudo rm $i;
done;
そしてプレスト。アンインストール.
私は過去のある時点で私のグローバル環境で偶然に "python setup.py install"を実行していましたが、アンインストールするのは非常に困難でした。これらの解決策は役に立ちませんでした。 「pip uninstall」は「splunk-appinspectをアンインストールできません。アンインストールするファイルが見つかりませんでした」と機能しませんでした。 「Sudo pip uninstall」が機能しませんでした「要件splunk-appinspectをアンインストールできません。インストールされていません」。 pipをアンインストールしたり、pipキャッシュを削除したり、ハードドライブからパッケージを検索したりしてみました。
"pip show"は最終的に私を解決策に導きました、 "Location:"はディレクトリを指していました、そしてそのディレクトリの名前を変更してパッケージをpipのリストから削除しました。ディレクトリの名前を変更してもpipのリストには表示されず、virtualenvでパッケージを再インストールできます。
私はPyCharmでpython setup.py install
を一度実行しました、それは私のcondaベース環境にすべてのパッケージをインストールします。後でこれらすべてのパッケージを削除したいときに、pip uninstall
が機能しません。私は手動で/anaconda3/lib/python3.7/site-packagesからそれらを削除しなければなりませんでした:(
だから、彼らがrequirements.txtファイルを書く代わりにsetup.pyを使う理由はわかりません。要件ファイルは仮想環境にパッケージをインストールするために使うことができ、システムのpythonパッケージをめちゃくちゃにしません。
次のように、bashを使用してコマンドを読み取ることで関連ファイルを削除することをお勧めします。
Sudo python setup.py install --record files.txt
Sudo bash -c "cat files.txt | xargs rm -rf"