Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

zsh: /usr/local/bin/pipenv: bad interpreter: /usr/local/opt/python/bin/python3.7: no such file or directory

I recently switched from bash to zsh (MacOS). I haven't used pipenv since the switch. Now when I run any pipenv command I get the following error:

$ pipenv install
zsh: /usr/local/bin/pipenv: bad interpreter: /usr/local/opt/python/bin/python3.7: no such file or directory

I use pyenv for Python dependency management:

$ which python
/Users/ryan.payne/.pyenv/shims/python

My default python version is 3.7.3:

$ pyenv versions
  system
  2.7.16
  3.6.8
* 3.7.3 (set by /Users/ryan.payne/.pyenv/version)

It seems like pipenv is not using my pyenv version of Python. How do I get pipenv working again?

like image 537
Ryan Payne Avatar asked Aug 20 '20 16:08

Ryan Payne


2 Answers

I had this same error with awscli. The solution was to install [email protected] via homebrew and then cp that installation into the directory awscli expected.

brew install [email protected]
cp -r /usr/local/opt/[email protected]/bin/python3.7 /usr/local/opt/python/bin/python3.7
like image 110
Matthew Hinea Avatar answered Sep 28 '22 08:09

Matthew Hinea


You don't need to uninstall anything. Simply change the interpreter at /usr/local/bin and have your current python path in pyenv handy:

type python3

copy the path

vi /usr/local/bin/pipenv

It will look something like this:

enter image description here

Once it's changed, you will probably have to download pipenv again. Don't worry, your env is fine.

pip install pipenv

Go play in your env

like image 23
Tyler Gallenbeck Avatar answered Sep 28 '22 09:09

Tyler Gallenbeck