2016-04-15 13 views
0

私はMacOSXからすべてのpipインストールされたパッケージを削除しようとします。 zshループに続いてそれらのほとんどが削除されましたが、あるものは抵抗します。MacOSXにpipインストールされたパッケージをクリーニングするには?

for i ($(pip freeze)) {pip uninstall -y $i} 

たとえば、matlibplotは削除されていません。アンインストールを実行しようとすると、matplotlibが見つかり、関連するパスが表示されますが、失敗します。

pip uninstall matplotlib 
Uninstalling matplotlib-1.3.1: 
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib 
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib-1.3.1-py2.7.egg-info 
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pylab.py 
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pylab.pyc 
Proceed (y/n)? 

非常に長いエラーメッセージが表示されます。ファイルを削除することはできないようです。エラーサンプル:

error: [('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/__init__.py', '/tmp/pip-PK6UUB-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/__init__.py', "[Errno 1] Operation not permitted: '/tmp/pip-PK6UUB-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/__init__.py'"), 

どうすればよいですか?

明確にするために、コマンドはrootアカウントから実行されます。ピップは、パッケージメタデータを見つけることができます。

pip show matplotlib 
--- 
Metadata-Version: 1.1 
Name: matplotlib 
Version: 1.3.1 
Summary: Python plotting package 
Home-page: http://matplotlib.org 
Author: John D. Hunter, Michael Droettboom 
Author-email: [email protected] 
License: BSD 
Location: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python 
Requires: numpy, python-dateutil, tornado, pyparsing, nose 
Classifiers: 
    Development Status :: 5 - Production/Stable 
    Intended Audience :: Science/Research 
    License :: OSI Approved :: Python Software Foundation License 
    Programming Language :: Python 
    Programming Language :: Python :: 2 
    Programming Language :: Python :: 3 
    Topic :: Scientific/Engineering :: Visualization 
+2

rootまたはsudoとして実行します。 – han058

+0

私は上記のすべてをrootとして実行しました。 – Wawrzek

+1

私はAskDiffrentに質問を移しました:http://apple.stackexchange.com/questions/235041/how-to-clean-pip-installed-packages-on-macosx/235050#235050私の問題はMacOSX固有のようです。 – Wawrzek

答えて

0

私はmatplotlibのはまだあなたが

$ pip freeze 

を実行したときに、私はOSX環境でその慣れていないんだけど、私はできるだけ多くを適応しようとするでしょう示し仮定していますLinux/GNU環境からできるだけ早くインストールしてください。まず第一に、あなたはコマンドでmatplotlibのを再インストールすることができます:

$ pip install pysqlite 

ピップは、それがすでにこの返されたパスを使用して

Requirement already satisfied (use --upgrade to upgrade): matplotlib in PATH 

にインストールされていることを前提とした場合それはPATH/dist-packages/matlibplot*.egg/に行き、このような何かを返す必要があります(またはあなたがあなたのpythonパスにあなたの卵を格納する他の場所)とinstalled-files.txtファイルを探します。存在しない場合、pipはパッケージをアンインストールできません。

したがって、手動の代替方法は、その卵子パス内のすべてのファイルを削除し、matplotlibを削除することです。また、dist-packagesディレクトリのeasy-install.*ファイルを編集し、pip freezeコマンドが表示を停止するように、matplotlibエントリを削除する必要があります。

+0

興味深い考えですが、問題はMacOSX側の問題だと思います。また、pip show matplotlibは、パスを含むパッケージ情報を取得するのに十分なようです。 – Wawrzek

関連する問題