GNU/Linux >> Znalost Linux >  >> Ubuntu

Chybějící závislost na Pip3?

Dnes jsem nainstaloval nejnovější Ubuntu Gnome a nastavoval svůj počítač pro práci související s datovou vědou. Když jsem se pokusil nainstalovat tensorflow-gpu, narazil jsem na pád z pip3:

[email protected]:~/Desktop$ pip3
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 33, in vendored
    __import__(vendored_name, globals(), locals(), level=0)
ImportError: No module named 'pip._vendor.pkg_resources'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 13, in <module>
    from pip.exceptions import InstallationError, CommandError, PipError
  File "/usr/lib/python3/dist-packages/pip/exceptions.py", line 6, in <module>
    from pip._vendor.six import iteritems
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 75, in <module>
    vendored("pkg_resources")
  File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 36, in vendored
    __import__(modulename, globals(), locals(), level=0)
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2927, in <module>
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2913, in _call_aside
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2952, in _initialize_master_working_set
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 956, in subscribe
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2952, in <lambda>
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2515, in activate
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2097, in declare_namespace
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2047, in _handle_ns
  File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2066, in _rebuild_mod_path
AttributeError: '_NamespacePath' object has no attribute 'sort'

Zkoušel jsem vyčistit python3-pip a přeinstalovat, stále to nefunguje. Výše uvedené získám pouze spuštěním pip3 v terminálu a stiskněte ENTER.

Nějaké nápady?

EDIT:Také dvě cesty se liší pro pip a pip3:

[email protected]:~$ which pip
/home/me/.local/bin/pip
[email protected]:~$ which pip3
/usr/bin/pip3

Přijatá odpověď:

Opravil jsem to vytvořením nového virtuálního prostředí

  1. Nové virtuální prostředí lze vytvořit:

    python3 -m venv /tmp/newvenv
    
  2. Poté jsem zkontroloval, zda pip funguje v novém virtuálním prostředí dobře:

    cd /tmp/newvenv/bin
    ./pip3
    

To mi dalo normální zprávu jako v následujícím:

Použití:
pip [možnosti]

Příkazy:

nainstalovat Instalační balíčky.

stáhnout Stáhnout balíčky.

…

Pip3 však stále selhal.

    pip3

Stále mi to zobrazilo chybovou zprávu.

Pak jsem se rozhodl zkopírovat pracovní verze pipu do domovského adresáře. Pro dva níže uvedené kroky (#3 a #4) si možná budete chtít ponechat záložní kopie.

  1. Přepsal jsem pip a pip-9.0.1.dist-info z virtuálního prostředí do domovského adresáře:

    cp -r /tmp/newvenv/lib/python3.5/site-packages/pip ~/.local/lib/python3.5/site-packages/
    cp -r /tmp/newvenv/lib/python3.5/site-packages/pip-9.0.1.dist-info ~/.local/lib/python3.5/site-packages/
    
  2. Také jsem zkopíroval následující dva soubory:

    cp /tmp/newvenv/lib/python3.5/site-packages/pkg_resources/__init__.py ~/.local/lib/python3.5/site-packages/pkg_resources/ 
    cp /tmp/newvenv/lib/python3.5/site-packages/pkg_resources/py31compat.py ~/.local/lib/python3.5/site-packages/pkg_resources/
    

Po těchto krocích funguje pip3 v mém případě dobře.

Související:Jak obnovit výchozí úložiště?
Ubuntu
  1. Kočičí čára X do čáry Y na obrovském souboru?

  2. Zaneprázdněná schránka Číst soubor řádek po řádku?

  3. Nemůžete najít soubor k opravě na vstupním řádku 3?

  1. Selhání nebo chybějící závislost chyby glibc-common

  2. VIM:jak přejít na přesnou linku na Ubuntu

  3. přidat řádek do souboru POUZE pokud v souboru již není

  1. grep bez zobrazení cesty/souboru:řádku

  2. Chybí události inotify (v adresáři .git)

  3. unix - rozdělte velký soubor .gz po řádcích