Pipenv: ‚NoneType‘-Objekt ist nicht indizierbar

Pipenv: ‚NoneType‘-Objekt ist nicht indizierbar

Ich installiere die Umgebung mit dempipenv. Python3.7.4.


Über das System:

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

Datei.env

WORKON_HOME=/usr/local/envs
PIPENV_DEFAULT_PYTHON_VERSION=3.7.4

Protokoll

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 mit Befehl installiert

sudo apt install python3-pipenv

Ich habe versucht, es mit der Python-Version auszuführen: in der Datei .envund in den Befehlszeilenargumenten – dieses Ergebnis wurde wiederholt. Auf StaсkOverflow gibt es eine ähnliche Frage, aber die Lösung passt mir nicht. Ich habe keine Probleme mit dem Gebietsschema.

Antwort1

Alte Frage, aber vielleicht hilft das jemandem, der wie ich über diese Frage stolpert:

Ich konnte dieses Problem vermeiden, indem ich verwendet habe python3 -m pipenv.

In meinem Fall war Python 2 nicht installiert und pythonin meinem PATH war keine ausführbare Datei. Um das zu beheben, habe ich einen symbolischen Link erstellt:

# 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

verwandte Informationen