Pipenv: O objeto 'NoneType' não é subscrito

Pipenv: O objeto 'NoneType' não é subscrito

Eu instalo o ambiente com opipenv. Pitão3.7.4.


Sobre o sistema:

$ uname -a
Linux *** 4.19.0-5-amd64 #1 SMP Debian 4.19.37-6 (2019-07-18) x86_64 GNU/Linux

Arquivo.env

WORKON_HOME=/usr/local/envs
PIPENV_DEFAULT_PYTHON_VERSION=3.7.4

Registro

Loading .env environment variables…
Creating a virtualenv for this project…
Using /usr/bin/python3 (3.7.4) to create virtualenv…
⠋/usr/bin/python3: No module named pipenv.pew

Virtualenv location:
requirements.txt found, instead of Pipfile! Converting…
Traceback (most recent call last):
  File "/usr/bin/pipenv", line 11, in <module>
    load_entry_point('pipenv==11.9.0', 'console_scripts', 'pipenv')()
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pipenv/cli.py", line 572, in shell
    three=three, python=python, fancy=fancy, shell_args=shell_args
  File "/usr/lib/python3/dist-packages/pipenv/core.py", line 2093, in do_shell
    ensure_project(three=three, python=python, validate=False)
  File "/usr/lib/python3/dist-packages/pipenv/core.py", line 636, in ensure_project
    ensure_pipfile(validate=validate, skip_requirements=skip_requirements)
  File "/usr/lib/python3/dist-packages/pipenv/core.py", line 265, in ensure_pipfile
    project.create_pipfile(python=python)
  File "/usr/lib/python3/dist-packages/pipenv/project.py", line 518, in create_pipfile
    'python_version': python_version(required_python)[: len('2.7')]
TypeError: 'NoneType' object is not subscriptable

pipenv instalado com comando

sudo apt install python3-pipenv

Tentei executar com a versão do Python: no arquivo .enve nos argumentos da linha de comando - esse resultado foi repetido. No StaсkOverflow há uma pergunta semelhante, mas a solução não combina comigo. Não tenho problemas com o local.

Responder1

Pergunta antiga, mas talvez isso ajude alguém a tropeçar nessa questão como eu:

Consegui evitar esse problema usando o python3 -m pipenv.

No meu caso não havia Python 2 instalado e nenhum pythonexecutável em meu PATH. Para corrigir isso, criei um link simbólico:

# find location of python3
$ which python3
/usr/bin/python3

# create link from python to python3 in the original directory
$ ln -s /usr/bin/python3 /usr/bin/python

informação relacionada