Pipenv: объект «NoneType» не может быть подписан

Pipenv: объект «NoneType» не может быть подписан

Я устанавливаю среду с помощьюpipenv. Питон3.7.4.


О системе:

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

Файл.env

WORKON_HOME=/usr/local/envs
PIPENV_DEFAULT_PYTHON_VERSION=3.7.4

Бревно

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 установлен с помощью команды

sudo apt install python3-pipenv

Пробовал запускать с версией Python: в файле .envи в аргументах командной строки - этот результат повторялся. На StaсkOverflow есть похожий вопрос, но решение мне не подходит. У меня нет проблем с локалью.

решение1

Старый вопрос, но, возможно, это поможет кому-то, кто, как и я, столкнулся с этим вопросом:

Мне удалось избежать этой проблемы, используя python3 -m pipenv.

В моем случае не было установлено Python 2 и не было pythonисполняемого файла в моем PATH. Чтобы исправить это, я создал символическую ссылку:

# 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

Связанный контент