问题描述
我最近从bash切换到zsh。自从切换以来,我还没有使用过pipenv。现在,当我运行任何pipenv命令时,都会出现以下错误:
$ pipenv install
zsh: /usr/local/bin/pipenv: bad interpreter: /usr/local/opt/python/bin/python3.7: no such file or directory
我将pyenv用于Python依赖项管理:
$ which python
/Users/ryan.payne/.pyenv/shims/python
我的默认python版本是3.7.3:
$ pyenv versions
system
2.7.16
3.6.8
* 3.7.3 (set by /Users/ryan.payne/.pyenv/version)
似乎pipenv没有使用我的pyenv版本的Python。如何使pipenv重新工作?
解决方法
您不需要卸载任何东西。只需在 /usr/local/bin
处更改解释器,并在 pyenv 中方便地使用当前的 python 路径:
type python3
复制路径
vi /usr/local/bin/pipenv
它看起来像这样:
一旦更改,您可能需要再次下载 pipenv。别担心,你的环境很好。
pip install pipenv
在你的环境中玩
,我在awscli
中遇到了同样的错误。解决方案是通过自制程序安装python@3.7,然后cp
将该安装安装到预期的目录awscli
中。
brew install python@3.7
cp -r /usr/local/opt/python@3.7/bin/python3.7 /usr/local/opt/python/bin/python3.7
,
我通过卸载并重新安装pipenv和pyenv解决了此问题。我跟随https://stackoverflow.com/a/51797298/11809808卸载了pyenv。
,在终端运行:
brew install python3 && cp /usr/local/bin/python3 /usr/local/bin/python