创建执行命令时出现以下错误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')]
TypeError:'NoneType' 对象不可下标
为了在 heroku 上托管,我需要 pipenv shell。
答案1
我在 Ubuntu 20.04 上遇到了同样的问题,但由于你使用的是 heroku,我不确定你是否可以在你的终端中执行这些操作:
sudo apt-get remove python3-pipenv
sudo pip3 install pipenv (or sudo pip install pipenv)
之后,我又遇到了 virtualenv 版本的问题。为此,我删除了 python3-virtualenv 和 pip 安装的 virtualenv 版本
sudo apt-get remove python3-virtualenv
sudo pip3 install virtualenv
您可以检查 pipenv 是否有效:/home/[your_username]/.local/bin/pipenv
如果您仍然遇到 virtualenv 问题,请查看此处: https://github.com/pypa/pipenv/issues
运行完成后,将 /home/[your_user]/.local/bin/ 添加到你的 PATH 中:
export PATH=$PATH:~/.local/bin/
答案2
某些情况下您需要向二进制文件添加路径。比如添加/home/<username>/.local/bin
到 $PATH。
用这个来添加它。
PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"
答案3
有时这可能是由于权限问题。我运行sudo pipenv shell
它,成功了。
答案4
我认为最好使用 python3-venv 而不是 pipenv
您可以使用以下代码进行安装
sudo apt install python3-venv
并使用以下命令创建一个虚拟环境:
python3 -m venv <folder name for virtualenv>
并使用以下命令激活它:
source <folder name for virtualenv>/bin/activate
并使用以下命令停用:
deactivate
您可以使用 python3.8 代替 python3(尤其是当您的系统上安装了另一个版本的 Python 时)
我希望这对你有帮助