2016-06-16 22 views
4

Ich habe heruntergeladen, gebaut und installiert die Probe Pypi-Projekt. Das Projekt soll einen Einblick in die Python-Verpackung geben und wird in Python Packaging User Guide und Packaging and Distributing Projects referenziert. Ich bin daher verwirrt, warum in aller Welt nach ihren Anweisungen beim Erstellen des Pakets habe ich einen Fehler bei der Deinstallation.pip deinstallieren funktioniert, aber geben Fehler

Wie oben erwähnt, habe ich ihr Beispielprojekt verwendet. Wenn jemand etwas Licht werfen kann, würde es geschätzt werden.

Key Notes: Ich arbeite mit Mac OSX, meine installierte Python-Version 3.5.1 Nachfolgend finden ist, um das Problem zu reproduzieren:

mkdir testdirectory 
cd testdirectory/ 
pyvenv venv # Creating a virtual environment 
source venv/bin/activate 
git clone https://github.com/pypa/sampleproject.git # Getting sample project 
cd sampleproject/ 
python setup.py build 
python setup.py install # Installing on the virtual environment 

pip list 
peppercorn (0.5) 
pip (7.1.2) 
sample (1.2.0) 
setuptools (18.2) 

pip uninstall sample 

in der folgenden Ausgabe Resultierende:

Uninstalling sample-1.2.0: 
    /Users/steve/testdirectory/venv/bin/sample 
    /Users/steve/testdirectory/venv/lib/python3.5/site-packages/sample-1.2.0-py3.5.egg 
Proceed (y/n)? y 
    Successfully uninstalled sample-1.2.0 
Traceback (most recent call last): 
    File "/Users/steve/testdirectory/venv/bin/pip3", line 11, in <module> 
    sys.exit(main()) 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/__init__.py", line 217, in main 
    return command.main(cmd_args) 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/basecommand.py", line 248, in main 
    pip_version_check(session) 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/utils/outdated.py", line 102, in pip_version_check 
    installed_version = get_installed_version("pip") 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/utils/__init__.py", line 858, in get_installed_version 
    working_set = pkg_resources.WorkingSet() 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 629, in __init__ 
    self.add_entry(entry) 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 685, in add_entry 
    for dist in find_distributions(entry, True): 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2075, in find_eggs_in_zip 
    if metadata.has_metadata('PKG-INFO'): 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1605, in has_metadata 
    return self.egg_info and self._has(self._fn(self.egg_info, name)) 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1963, in _has 
    return zip_path in self.zipinfo or zip_path in self._index() 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1843, in zipinfo 
    return self._zip_manifests.load(self.loader.archive) 
    File "/Users/steve/testdirectory/venv/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1783, in load 
    mtime = os.stat(path).st_mtime 
FileNotFoundError: [Errno 2] No such file or directory: '/Users/steve/testdirectory/venv/lib/python3.5/site-packages/sample-1.2.0-py3.5.egg' 

Es scheint, dass das Paket korrekt deinstalliert wurde, der Fehler jedoch weiterhin auftritt.

Antwort

6

Dies wird dokumentiert:

$ pip help uninstall 

Usage: 
    pip uninstall [options] <package> ... 
    pip uninstall [options] -r <requirements file> ... 

Description: 
    Uninstall packages. 

    pip is able to uninstall most installed packages. Known exceptions are: 

    - Pure distutils packages installed with ``python setup.py install``, which 
    leave behind no metadata to determine what files were installed. 
    - Script wrappers installed by ``python setup.py develop``. 

das heißt, Sie werden immer den Fehler, weil Sie nicht pip selbst nicht genutzt installieren - Sie setup.py verwendet und so Pip weiß nicht, was installiert wurde.

0

Installieren Sie das Paket nicht mit python setup.py install aber mit pip install .

Deinstallation Dann

ohne Fehler funktionieren