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