为什么我无法使用 python3.8 在 ubuntu 20.04 LTS 中创建 pipenv shell?

Aks*_*ala 4 python3 heroku pipenv 20.04

创建执行pipenv shell命令时出现以下错误:

?/usr/bin/python3: No module named pipenv.pew

Virtualenv location: 
Creating a Pipfile for this project…
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 571, in shell
    core.do_shell(
  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 289, 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')]
Run Code Online (Sandbox Code Playgroud)

TypeError: 'NoneType' 对象不可下标

为了在 heroku 上托管,我需要 pipenv shell。

小智 5

我在 Ubuntu 20.04 上遇到了同样的问题,但是由于您在 heroku 上,我不确定您是否可以执行这些,但是,在您的终端中:

sudo apt-get remove python3-pipenv
sudo pip3 install pipenv (or sudo pip install pipenv)
Run Code Online (Sandbox Code Playgroud)

在那之后,我遇到了 virtualenv 版本的另一个问题。为此,我删除了 python3-virtualenv 和 pip 安装的 virtualenv 版本

sudo apt-get remove python3-virtualenv
sudo pip3 install virtualenv
Run Code Online (Sandbox Code Playgroud)

您可以检查 pipenv 是否有效:/home/[your_username]/.local/bin/pipenv

如果您仍然遇到 virtualenv 问题,请看这里:https : //github.com/pypa/pipenv/issues

运行后,将 /home/[your_user]/.local/bin/ 添加到您的 PATH:

export PATH=$PATH:/home/[your_user]/.local/bin/
Run Code Online (Sandbox Code Playgroud)