Pipenv: 'NoneType' 개체는 첨자화할 수 없습니다.

Pipenv: 'NoneType' 개체는 첨자화할 수 없습니다.

나는 다음과 같은 환경을 설치한다.파이프. 파이썬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가 설치되어 있지 않았고 pythonPATH에 실행 파일도 없었습니다. 이 문제를 해결하기 위해 심볼릭 링크를 만들었습니다.

# 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

관련 정보