floss
floss

Reputation: 2773

pip3: bad interpreter: No such file or directory

I am trying to install dependencies using pip3 command

current scenario:

Dev$ which python
/Users/Dev/anaconda/bin/python

Dev$ which python3
/usr/local/bin/python3


Dev$ pip --version
pip 10.0.1 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)

Dev$ pip3 --version
-bash: /usr/local/bin/pip3: /usr/local/opt/python3/bin/python3.6: bad 
interpreter: No such file or directory

I have no idea why my pip3 command is not working.

I have tried things like this:

brew link --overwrite python 

Upvotes: 138

Views: 241879

Answers (8)

user22438148
user22438148

Reputation: 1

I have seen same issue while using below command:

pip install openpyxl

:bad interpreter: No such file or directory

Able to resolved by using below command:

pip3.10 install openpyxl

On my Mac machine, python is installed for 3.8 and 3.10 so we need to be specific while installing any module using pip command.

Upvotes: -4

yupei song
yupei song

Reputation: 181

Run the three commands.

python -m pip uninstall pip
python -m ensurepip
python -m pip install --upgrade pip

Upvotes: 18

Saeed
Saeed

Reputation: 3520

I have the same problem.

For me the path of python in venv/bin/pip was wrong.

1. Open pip:

gedit path/to/pip

#!/home/saeed/project-master/venv/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys

2. Correct the python path in the first line of pip file:

#!/home/saeed/project/venv/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys

Upvotes: 14

codkelden
codkelden

Reputation: 404

I'll made an addition, maybe it can help to someone.

I have python3.9 installation at this moment, but I get an error message like TS reported:

/home/username/.local/bin/pip: bad interpreter: /usr/bin/python3.6: No such file or directory

I found that files pip3.6 and pip exists in ~/.local/bin direcotry with following shebang (note that explicit Python version specified):

#!/usr/bin/python3.6

But since I have not 3.6 version on my system, calling

$ pip

obviously causes this error. Replacing 3.6 to 3.9 fixes it.

Upvotes: 6

passedbylove
passedbylove

Reputation: 1

sudo apt install python[2|3]-pip

pip2 install ws4py==0.3.2

I've faced the same situation, after above, my program working properly, Ubuntu 16.04.6 amd64

Upvotes: -3

A. Attia
A. Attia

Reputation: 1720

You can try to change the python version of pip by doing
vim /path/to/pip
Then change the commented line (first line) with the desired version of Python.

Upvotes: 32

abarnert
abarnert

Reputation: 365627

You've got a whole slew of different Python installations, plus at least one former Python installation that you deleted.

Situations like this are exactly why running pip or pip3 directly is no longer recommended, in favor of:

python3 -m pip install whatever

This guarantees that you're absolutely positively running the pip that goes with whatever python3 means, while pip3 just means you're running the pip that goes with some Python 3.x, which may be any of the various ones you've installed.

Or, even better, use virtual environments, so you can rely on the fact that python and pip are the commands from the currently-active environment, and not even worry about what they mean system-wide.


But, if you want to know how you got into this mess and how to fix it:

Your python3 command is probably from a Homebrew Python (you can check; ls -l /usr/local/bin/python3 and see if it's a symlink to something in /usr/local/Cellar/python).

Your pip3 command is from a Python 3 that doesn't exist. Most likely, you installed another Python 3, which overwrote the pip3 from the Homebrew Python 3, and then uninstalled it, leaving a broken pip behind.

The simplest thing to do is to just rm /usr/local/bin/pip3. Then, assuming you want your Homebrew Python to be your default for python3 and pip3, redo the brew link python command. If it shows you any warnings or errors, you still have other things to fix. If not, /usr/local/bin/pip3 should now be the Homebrew 3.6 pip, and which pip3 should pick out /usr/local/bin/pip3, and everything is good until the next time you install another Python 3 and overwrite a bunch of stuff.

A better fix would be to pick one way of installing Python—whether Anaconda, Homebrew, python.org installers, or whatever—and use that consistently. Uninstall everything, reinstall the one you actually want, and never touch the others again. (Unfortunately, you will still be stuck with Apple's system Python 2.7, but if you're only using 3.x, that won't matter.)

Upvotes: 309

hao
hao

Reputation: 13

please check your python version on your current environment,ensure it's python3

Upvotes: -3

Related Questions