<p>A instalação do pip 18.0 falha com AttributeError: o objeto 'NoneType' não tem atributo 'bytes'</p>

Criado em 27 set. 2018  ·  31Comentários  ·  Fonte: pypa/pip

Ambiente

  • versão pip: 10.0.1 -> 18.0
  • Versão Python: 3.7 (Windows x64)
  • SO: Windows 10

Descrição
pip instala com um bug de compilação no tempo de execução.

Comportamento esperado
pip instala sem erros.

Como reproduzir

  1. Baixe o python 3.7 para windows x64.
    https://www.python.org/ftp/python/3.7.1/python-3.7.1rc1-amd64.exe
  2. Instale o pacote
  3. Instale PyCharm 2018.02
  4. Crie um novo projeto PyCharm com virtualenv.
  5. Crie um novo terminal e atualize o pip

Saída
Você está usando a versão 10.0.1 do pip; no entanto, a versão 18.0 está disponível.
Você deve considerar a atualização por meio do comando 'python -m pip install --upgrade pip'.

(venv) C: \ projects \ nltk-tutorial> python -m pip install --upgrade pip
Coletando pip
Baixando https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl (1,3 MB)
100% | ████████████████████████████████ | 1,3 MB 5,8 MB / s
Instalando pacotes coletados: pip
Instalação existente encontrada: pip 10.0.1
Desinstalando pip-10.0.1:
Pip-10.0.1 desinstalado com sucesso
Revertendo a desinstalação do pip
Exceção:
Traceback (última chamada mais recente):
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_internal \ basecommand.py", linha 228, no principal
status = self.run (opções, argumentos)
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_internal \ comandos \ install.py", linha 335, em execução
use_user_site = options.use_user_site,
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_internal \ req__init __. Py", linha 49, em install_given_reqs
** kwargs
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_internal \ req \ req_install.py", linha 748, na instalação
use_user_site = use_user_site, pycompile = pycompile,
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_internal \ req \ req_install.py", linha 961, em move_wheel_files
warn_script_location = warn_script_location,
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_internal \ wheel.py", linha 431, em move_wheel_files
generator.extend (maker.make (spec))
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_vendor \ distlib \ scripts.py", linha 403, no make
self._make_script (entrada, nomes de arquivos, opções = opções)
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_vendor \ distlib \ scripts.py", linha 307, em _make_script
self._write_script (scriptnames, shebang, script, nomes de arquivo, ext)
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_vendor \ distlib \ scripts.py", linha 243, em _write_script
launcher = self._get_launcher ('t')
Arquivo "C: \ projects \ nltk-tutorial \ venv \ lib \ site-packages \ pip-10.0.1-py3.7.egg \ pip_vendor \ distlib \ scripts.py", linha 382, ​​em _get_launcher
resultado = localizador (distlib_package) .find (nome) .bytes
AttributeError: o objeto 'NoneType' não tem atributo 'bytes'

(venv) C: \ projects \ nltk-tutorial> python -m pip install --upgrade pip
Requisito já atualizado: pip em c: \ projects \ nltk-tutorial \ venv \ lib \ site-packages (18.0)

(venv) C: \ projects \ nltk-tutorial> pip install
ERRO: Você deve fornecer pelo menos um requisito para instalar (consulte "pip help install")
Você está usando a versão 10.0.1 do pip; no entanto, a versão 18.0 está disponível.
Você deve considerar a atualização por meio do comando 'python -m pip install --upgrade pip'.

Paste the output of the steps above, including the commands themselves and
pip's output/traceback etc.
auto-locked support

Comentários muito úteis

Experimente:
python -m pip install -U --force-reinstall pip
dentro do seu venv

Todos 31 comentários

PyCharm instala pip como um ovo (veja C:\projects\nltk-tutorial\venv\lib\site-packages\pip-10.0.1-py3.7.egg no traceback acima) e instalações de ovo não são suportadas por pip (não podemos atualizar instalações de layout de ovo).

Você precisa aumentar isso com o JetBrains ou criar seus ambientes manualmente. Acredito que exista um problema sobre isso no rastreador PyCharm (eu levantei um há alguns anos, mas não ouvi nada sobre isso - parei de rastreá-lo quando desisti de usar PyCharm porque esse problema era muito problema para mim).

Experimente:
python -m pip install -U --force-reinstall pip
dentro do seu venv

Estou tendo um problema semelhante (pelo menos, o traceback é semelhante). Estou usando um ambiente novo conda (a maioria dos pacotes do conda-forge), pip 18.1, python 3.6 e linux. O comando forçar reinstalar fornecido não resolve meu problema. Estou utilizando a nova sintaxe PEP508 para instalar pacotes privados de nosso servidor gitlab interno (anônimo abaixo). Eu adicionei algumas declarações impressas que espero que sejam úteis:

$ pip install -e .
Obtaining file:///nas/home/broot/Programs/tools/catutils
req: shapely
comes_from: catutils==0.15.dev1 from file:///nas/home/broot/Programs/tools/catutils
req: netCDF4
comes_from: catutils==0.15.dev1 from file:///nas/home/broot/Programs/tools/catutils
req: aershp>=0.10
comes_from: catutils==0.15.dev1 from file:///nas/home/broot/Programs/tools/catutils
req: numpy!=1.10,!=1.11.0
comes_from: catutils==0.15.dev1 from file:///nas/home/broot/Programs/tools/catutils
req: scipy
comes_from: catutils==0.15.dev1 from file:///nas/home/broot/Programs/tools/catutils
req: GDAL
comes_from: catutils==0.15.dev1 from file:///nas/home/broot/Programs/tools/catutils
Requirement already satisfied: shapely in /rd22/scratch/broot/miniconda/envs/py3k/lib/python3.6/site-packages (from catutils==0.15.dev1) (1.6.4.post1)
Requirement already satisfied: netCDF4 in /rd22/scratch/broot/miniconda/envs/py3k/lib/python3.6/site-packages (from catutils==0.15.dev1) (1.4.1)
req: numpy>=1.7
comes_from: netCDF4 in /rd22/scratch/broot/miniconda/envs/py3k/lib/python3.6/site-packages (from catutils==0.15.dev1)
req: cftime
comes_from: netCDF4 in /rd22/scratch/broot/miniconda/envs/py3k/lib/python3.6/site-packages (from catutils==0.15.dev1)
Requirement already satisfied: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1) (0.16.dev1)
req: nose
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: numpy
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: matplotlib<2.2.0
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: Shapely
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: GDAL
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: pyyaml
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: jinja2
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: scripttest
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: netCDF4
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: six
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
req: atomic_context@ git+ssh://git@***********.com/common/atomic_context.git<strong i="6">@release</strong>
comes_from: aershp>=0.10 in /nas/home/broot/Programs/tools/aershp/lib (from catutils==0.15.dev1)
Exception:
Traceback (most recent call last):
  File "/home/broot/scratch/miniconda/envs/py3k/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 143, in main
    status = self.run(options, args)
  File "/home/broot/scratch/miniconda/envs/py3k/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 318, in run
    resolver.resolve(requirement_set)
  File "/home/broot/scratch/miniconda/envs/py3k/lib/python3.6/site-packages/pip/_internal/resolve.py", line 102, in resolve
    self._resolve_one(requirement_set, req)
  File "/home/broot/scratch/miniconda/envs/py3k/lib/python3.6/site-packages/pip/_internal/resolve.py", line 318, in _resolve_one
    add_req(subreq, extras_requested=available_requested)
  File "/home/broot/scratch/miniconda/envs/py3k/lib/python3.6/site-packages/pip/_internal/resolve.py", line 275, in add_req
    wheel_cache=self.wheel_cache,
  File "/home/broot/scratch/miniconda/envs/py3k/lib/python3.6/site-packages/pip/_internal/req/constructors.py", line 290, in install_req_from_req
    if req.url and comes_from.link.netloc in domains_not_allowed:
AttributeError: 'NoneType' object has no attribute 'netloc'

Ah, eu não olhei de perto o suficiente para os rastreamentos, devo registrar um novo relatório de bug?

@WeatherGod : esse não é o mesmo problema, verifique a discussão em torno deste comentário: https://github.com/pypa/pip/pull/5571#pullrequestreview -162221673.

Ah, de fato, devo adicionar meu traceback lá?

Melhor abrir um novo bug, para que o problema possa ser devidamente rastreado.

Correção de @fingerman que não funciona no meu caso. A instalação está quebrada, alguma ideia do que está acontecendo?

Ainda acontecendo.

@fingerman Obrigado. Isso funcionou instantaneamente.

python -m pip install -U --force-reinstall pip

Você pode precisar de uma instalação fácil, pois funcionou para mim ao atualizar meu Pip
easy_install -U pip
Verifique este https://stackoverflow.com/questions/52460484/python-3-5-pip-9-attributeerror-nonetype-object-has-no-attribute-bytes

@fingerman Obrigado

python -m pip install -U --force-reinstall pip

trabalho

@fingerman tendo o mesmo erro para instalação forçada.
Por favor ajude.

@fingerman tendo o mesmo problema no pip 19.0.1, alguma outra correção? Obrigado

@fingerman tendo o mesmo problema no pip 19.0.1, alguma outra correção? Obrigado

Eu tive o mesmo, mas MichealAbaho do comentário acima com o comando easy_install -U pip corrigiu o problema para mim.

easy_install -U pip funcionou para mim. Estava tendo o problema para 19.0.1

O mesmo para mim. python -m pip install -U --force-reinstall pip não corrigiu o problema onde easy_install -U pip corrigiu. Também em 19.0.1.

easy_install -U pip
O comando acima é bom!

ok, acabei de encontrar o mesmo problema, mas tenho algumas informações básicas sobre isso,

o pip antigo está na verdade dentro do meu --user , então
C:\Python37\python.exe -m pip install --user --force-reinstall -U pip funciona no meu caso
se eu não instruir com --user a falha ocorrerá

a remoção manual da versão antiga do pip no meu diretório de instalação do usuário também funciona,

--user Install to the Python user install directory for your platform. 
Typically ~/.local/, or %APPDATA%\Python on Windows. 
(See the Python documentation for site.USER_BASE for full details.)

python -m pip install -U --force-reinstalar pip
trabalhou para mim

"python -m pip install -U --force-reinstalar pip" não funcionou, mas "easy_install -U pip" resolveu o problema para mim. Muito obrigado.

Nada funcionou para mim, eventualmente instalei uma versão coexistente do Python (3.7) e o pip pode ser atualizado para essa versão.

@ sapien47 https://github.com/pypa/pip/issues/5820#issuecomment -473693608

import sys
import pprint
pprint.pprint(sys.path)

Isso mostra onde o python está procurando por arquivos python. Pode ser útil quando você tenta solucionar problemas de erros de importação de Python

@fingerman tendo o mesmo problema no pip 19.0.1, alguma outra correção? Obrigado

Eu tive o mesmo, mas MichealAbaho do comentário acima com o comando easy_install -U pip corrigiu o problema para mim.

OBRIGADA! esse maldito problema tem me incomodado há uma hora, você se importaria como encontrou essa solução fantástica? eu irei aprender sobre o que é um .egg é

easy_install -U pip funcionou para mim. obrigada!

Eu uso o notebook jupyter com py3.6 no win10. O problema ainda existe quando eu atualizo o pip de 19.0.3 para 19.1.1.

Aqui está meu sys.path:

['',
 'C:\\ProgramData\\Anaconda3\\python36.zip',
 'C:\\ProgramData\\Anaconda3\\DLLs',
 'C:\\ProgramData\\Anaconda3\\lib',
 'C:\\ProgramData\\Anaconda3',
 'C:\\Users\\SSQ\\AppData\\Roaming\\Python\\Python36\\site-packages',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Sphinx-1.5.6-py3.6.egg',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin',
 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\IPython\\extensions',
 'C:\\Users\\SSQ\\.ipython']

No entanto, easy_install -U pip funcionou. Valeu!

ok, acabei de encontrar o mesmo problema, mas tenho algumas informações básicas sobre isso,

o pip antigo está na verdade dentro do meu --user , então
C:\Python37\python.exe -m pip install --user --force-reinstall -U pip funciona no meu caso
se eu não instruir com --user a falha ocorrerá

a remoção manual da versão antiga do pip no meu diretório de instalação do usuário também funciona,

--user Install to the Python user install directory for your platform. 
Typically ~/.local/, or %APPDATA%\Python on Windows. 
(See the Python documentation for site.USER_BASE for full details.)

Este parece ser o caso do meu erro também.
Use pip list --user para descobrir se o pip está instalado no nível do usuário
where pip no Windows lista o caminho completo de onde os binários do pip estão

Ainda acontecendo ao usar Python 3.6, Windows 10, indo do pip 10.0.1 para 19.1.1

python -m pip install -U --force-reinstalar pip

consertou para mim.

Experimente:
python -m pip install -U --force-reinstall pip
dentro do seu venv

obrigado mano

python -m pip install -U --force-reinstall pip
funcionou para mim, enquanto eu estava atualizando de 18.1 para 19.1.1
Obrigado pela sua ajuda e desculpe pelo meu péssimo inglês.

Fechando já que temos uma resolução sobre isso.

Esta página foi útil?
0 / 5 - 0 avaliações