bash:pip:找不到命令

时间:2012-03-20 02:43:08

标签: python macos pip python-2.6

我下载了pip并运行了python setup.py install,一切正常。本教程的下一步是运行pip install <lib you want>,但在它尝试在线查找任何内容之前,我收到错误“bash:pip:command not found”。

这是在Mac OS X上,我也是新手,所以我假设我在运行setup.py时没有正确设置某种路径设置。我该如何进一步调查?我需要检查什么才能更好地了解问题的确切原因?

编辑:我也尝试安装Python 2.7 for Mac,希望友好的安装过程可以像编辑PATH那样做任何内务管理,还有其他任何需要为根据教程工作的所有东西感到高兴,但这不起作用。安装运行'python'后仍然运行Python 2.6并且PATH没有更新。

31 个答案:

答案 0 :(得分:430)

为什么不做sudo easy_install pip或者这是用于python 2.6 sudo easy_install-2.6 pip

使用默认的python包安装程序系统安装pip,同时为您省去了手动设置的麻烦。

这将允许您运行用于python包安装的pip命令,因为它将与系统python一起安装。使用virtualenv包和模式后,我也建议您使用pip。 :)

答案 1 :(得分:229)

使用setuptools安装pip

sudo easy_install pip

(我知道我的答案的上述部分对于klobucar而言是多余的,但我还不能添加评论),所以这里是对Debian / Ubuntu上sudo: easy_install: command not found的解决方案的答案:

sudo apt-get install python-setuptools

另外,对于python3,请使用easy_install3python3-setuptools

答案 2 :(得分:89)

首先:尝试 pip3 而不是 pip 。例如:

pip3 --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

pip3应该与Python3.x一起自动安装。文档尚未更新,因此在安装Flask时,只需在说明中用 pip3 替换 pip

现在,如果这不起作用,您可能需要单独安装pip。

答案 3 :(得分:29)

按照here

安装Python最新版本

它有许多下载链接,如numpy和scipy

然后转到终端并输入以下命令: -

sudo easy_install pip

对于Python安装包check this

  

安装包的要求   本节介绍在安装其他Python包之前要遵循的步骤。

     

安装pip,setuptools和wheel如果你有Python 2&gt; = 2.7.9或   从python.org安装Python 3&gt; = 3.4,你已经有了pip   和setuptools,但需要升级到最新版本:

     

在Linux或OS X上:

     

pip install -U pip setuptools在Windows上:

     

python -m pip install -U pip setuptools如果你正在使用Python   安装在由系统软件包管理器管理的Linux上(例如   “yum”,“apt-get”等...),并且您想使用系统包管理器   要安装或升级pip,请参阅安装pip / setuptools / wheel   使用Linux包管理器

     

否则:

     

安全下载get-pip.py 1

     

运行python get-pip.py。 2这将安装或升级pip。   此外,如果不是,它将安装setuptools和wheel   已安装。

答案 4 :(得分:28)

我不得不承认自己是python的新手,我只需要一件事:awscli。我在下载了python 3.x.x - pip:command not found

时遇到了这个问题

虽然按照下载AWS cli的说明进行了更改

pip install awscli

pip3 install awscli

运行了正确的版本。

我在我的机器上创建了一个别名来运行python3,同时键入python,它通常运行系统版本2.7。我现在不确定这是个好主意。我想我只需输入他们想要的命令

答案 5 :(得分:27)

pip会将自己安装到python安装位置的bin中。它还应该创建一个符号链接到一些更常见的位置,如/usr/local/bin/pip

您可以修改~/.profile并更新您的PATH以包含/Library/Frameworks/Python.framework/Versions/2.6/bin,也可以在您知道的路径中为其创建符号链接。

如果您这样做:echo $PATH,您应该会看到当前正在搜索的路径。如果您的路径中有/usr/local/bin,则可以执行以下操作:

ln -s /Library/Frameworks/Python.framework/Versions/2.6/bin/pip /usr/local/bin

我会选择将python bin添加到$ PATH变量。

答案 6 :(得分:16)

使用apt-get安装系统范围pip,而不仅仅是您的用户的本地安装。尝试使用此命令在您的系统上运行pip ...

  

$ sudo apt-get install python -pip python-dev build-essential

然后pip将安装没有任何问题,你将能够使用“sudo pip ...”。

答案 7 :(得分:11)

查看How to Install Pip article文章以了解更多信息。

截至2019年

使用以下命令下载https://pip.pypa.io提供的get-pip.py:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

使用以下命令运行get-pip.py:
sudo python get-pip.py

安装完成后,运行此命令以检查是否安装了pip。
pip --version

在安装pip后删除get-pip.py文件。
rm get-pip.py

Pip website

答案 8 :(得分:10)

要解决:

  1. 将此行添加到〜/ .bash_profile

    export PATH =“/ usr / local / bin:$ PATH”

  2. 在终端窗口中,运行

    source~ / .bash_profile

答案 9 :(得分:10)

它可能是root权限。我尝试退出root登录,使用

sudo su -l root
pip <command>

对我有用

答案 10 :(得分:7)

安装Homebrew,打开终端或您最喜欢的OSX终端模拟器并运行

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

将Homebrew目录插入PATH环境变量的顶部。您可以通过在〜/ .profile文件

的底部添加以下行来完成此操作
export PATH=/usr/local/bin:/usr/local/sbin:$PATH

现在,我们可以安装Python 2.7:

$ brew install python

获取pip存储库:

$ git clone https://github.com/pypa/pip

安装pip:

$sudo easy_install pip

答案 11 :(得分:6)

如果您运行的是Python 3.5,请运行以下终端命令:

sudo pip3 install -U nltk

终端中的任何其他pip命令都是类似的:

pip3 install --upgrade pip
sudo pip3 install -U numpy ::

答案 12 :(得分:5)

它通过使用

解决了我的问题

sudo easy_install pip

答案 13 :(得分:3)

避免sudo

python <(curl https://bootstrap.pypa.io/get-pip.py) --user
echo 'export "PATH=$HOME/Library/Python/2.7/bin:$PATH"' >> ~/.bash_profile

自:

http://www.pip-command-not-found.com

答案 14 :(得分:3)

假设您有互联网,请参阅: https://pip.pypa.io/en/stable/installing/

基本运行:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

答案 15 :(得分:3)

大多数不建议安装PIP的方法。这是最新的(2019)解决方案。请下载get-pip脚本

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

运行脚本

sudo python get-pip.py

答案 16 :(得分:3)

CentOS 7用户可以使用:

yum install python-pip

如果您使用的是点子,也建议使用virtualenv。可以用相同的方式添加它:

yum install python-virtualenv

答案 17 :(得分:3)

最新更新2020。

$using:中对我来说很好。

安装python3

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @author: Pulkit Maloo """ from math import inf from collections import Counter import itertools from time import time TIME_LIMIT = 1 def index(x, y): x -= 1 y -= 1 return ((x//3)*27) + ((x % 3)*3) + ((y//3)*9) + (y % 3) def box(x, y): return index(x, y) // 9 def next_box(i): return i % 9 def indices_of_box(b): return list(range(b*9, b*9 + 9)) def print_board(state): for row in range(1, 10): row_str = ["|"] for col in range(1, 10): row_str += [state[index(row, col)]] if (col) % 3 == 0: row_str += ["|"] if (row-1) % 3 == 0: print("-"*(len(row_str)*2-1)) print(" ".join(row_str)) print("-"*(len(row_str)*2-1)) def add_piece(state, move, player): if not isinstance(move, int): move = index(move[0], move[1]) return state[: move] + player + state[move+1:] def update_box_won(state): temp_box_win = ["."] * 9 for b in range(9): idxs_box = indices_of_box(b) box_str = state[idxs_box[0]: idxs_box[-1]+1] temp_box_win[b] = check_small_box(box_str) return temp_box_win def check_small_box(box_str): global possible_goals for idxs in possible_goals: (x, y, z) = idxs if (box_str[x] == box_str[y] == box_str[z]) and box_str[x] != ".": return box_str[x] return "." def possible_moves(last_move): global box_won if not isinstance(last_move, int): last_move = index(last_move[0], last_move[1]) box_to_play = next_box(last_move) idxs = indices_of_box(box_to_play) if box_won[box_to_play] != ".": pi_2d = [indices_of_box(b) for b in range(9) if box_won[b] == "."] possible_indices = list(itertools.chain.from_iterable(pi_2d)) else: possible_indices = idxs return possible_indices def successors(state, player, last_move): succ = [] moves_idx = [] possible_indexes = possible_moves(last_move) for idx in possible_indexes: if state[idx] == ".": moves_idx.append(idx) succ.append(add_piece(state, idx, player)) return zip(succ, moves_idx) def print_successors(state, player, last_move): for st in successors(state, player, last_move): print_board(st[0]) def opponent(p): return "O" if p == "X" else "X" def evaluate_small_box(box_str, player): global possible_goals score = 0 three = Counter(player * 3) two = Counter(player * 2 + ".") one = Counter(player * 1 + "." * 2) three_opponent = Counter(opponent(player) * 3) two_opponent = Counter(opponent(player) * 2 + ".") one_opponent = Counter(opponent(player) * 1 + "." * 2) for idxs in possible_goals: (x, y, z) = idxs current = Counter([box_str[x], box_str[y], box_str[z]]) if current == three: score += 100 elif current == two: score += 10 elif current == one: score += 1 elif current == three_opponent: score -= 100 return score elif current == two_opponent: score -= 10 elif current == one_opponent: score -= 1 return score def evaluate(state, last_move, player): global box_won score = 0 score += evaluate_small_box(box_won, player) * 200 for b in range(9): idxs = indices_of_box(b) box_str = state[idxs[0]: idxs[-1]+1] score += evaluate_small_box(box_str, player) return score def minimax(state, last_move, player, depth, s_time): succ = successors(state, player, last_move) best_move = (-inf, None) for s in succ: val = min_turn(s[0], s[1], opponent(player), depth-1, s_time, -inf, inf) if val > best_move[0]: best_move = (val, s) # print("val = ", val) # print_board(s[0]) return best_move[1] def min_turn(state, last_move, player, depth, s_time, alpha, beta): global box_won if depth <= 0 or check_small_box(box_won) != ".":# or time() - s_time >= 10: return evaluate(state, last_move, opponent(player)) succ = successors(state, player, last_move) for s in succ: val = max_turn(s[0], s[1], opponent(player), depth-1, s_time, alpha, beta) if val < beta: beta = val if alpha >= beta: break return beta def max_turn(state, last_move, player, depth, s_time, alpha, beta): global box_won if depth <= 0 or check_small_box(box_won) != ".":# or time() - s_time >= 20: return evaluate(state, last_move, player) succ = successors(state, player, last_move) for s in succ: val = min_turn(s[0], s[1], opponent(player), depth-1, s_time, alpha, beta) if alpha < val: alpha = val if alpha >= beta: break return alpha def valid_input(state, move): global box_won if not (0 < move[0] < 10 and 0 < move[1] < 10): return False if box_won[box(move[0], move[1])] != ".": return False if state[index(move[0], move[1])] != ".": return False return True def take_input(state, bot_move): print("#" * 40) all_open_flag = False if bot_move == -1 or len(possible_moves(bot_move)) > 9: all_open_flag = True if all_open_flag: print("Tira donde quieras!") else: box_dict = {0: "Esquina superior izquierda", 1: "Arriba del Centro", 2: "Esquina superior Derecha", 3: "Izquierda del Centro", 4: "Centro", 5: "Derecha del Centro", 6: "Esquina inferior izquierda", 7: "Abajo de centro", 8: "Esquina inferior Derecha"} print("Donde quieres tirar la 'X'? DEBE SER EN EL CUADRANTE: ~" + box_dict[next_box(bot_move)]) x = int(input("Renglon = ")) if x == -1: raise SystemExit y = int(input("Columna = ")) print("") if bot_move != -1 and index(x, y) not in possible_moves(bot_move): raise ValueError if not valid_input(state, (x, y)): raise ValueError return (x, y) def game(state="." * 81, depth=20): global box_won, possible_goals possible_goals = [(0, 4, 8), (2, 4, 6)] possible_goals += [(i, i+3, i+6) for i in range(3)] possible_goals += [(3*i, 3*i+1, 3*i+2) for i in range(3)] box_won = update_box_won(state) print_board(state) bot_move = -1 while True: try: user_move = take_input(state, bot_move) except ValueError: print("INGRESA OTROS VALORES") print_board(state) continue except SystemError: print("Error ¡Juego Detenido!") break user_state = add_piece(state, user_move, "X") print_board(user_state) box_won = update_box_won(user_state) game_won = check_small_box(box_won) if game_won != ".": state = user_state break print("Espera un momento...") s_time = time() bot_state, bot_move = minimax(user_state, user_move, "O", depth, s_time) print("#" * 40) print("La computadora puso 'O' en", bot_move, "\n") print_board(bot_state) state = bot_state box_won = update_box_won(bot_state) game_won = check_small_box(box_won) if game_won != ".": break if game_won == "X": print("¡Ganaste este Cuadrante! selecciona otro para seguir jugando") else: print("Perdiste este cuadrante!, selecciona otro para seguir jugando ") return state if __name__ == "__main__": INITIAL_STATE = "." * 81 final_state = game(INITIAL_STATE, depth=5)

Pip安装

Ubuntu 20 64bit

有时在sudo apt install python3中添加以下别名可能会隐藏文件。

sudo apt install python3-pip

刷新当前终端会话。

$HOME/.bash_aliases

  • 检查点数用法:alias pip="/usr/bin/python3 -m pip "
  • 安装软件包:. ~/.profile

其他信息

获取主路径

pip

您将获得回家的路。

答案 18 :(得分:2)

尝试使用它。代替zmq,我们可以使用任何软件包代替zmq。

sudo apt-get install python3-pip
sudo apt-get update
python3 -m pip install zmq

由于遇到相同的问题,我无法在docker映像中安装此zmq软件包。因此,尝试将其作为另一种安装方式,对我来说效果很好。

答案 19 :(得分:2)

python默认情况下安装它,但如果未安装,则可以使用以下cmd手动安装(仅适用于linux)

对于python3:

sudo apt install python3-pip 

对于python2

sudo apt install python-pip 

希望它的帮助。

答案 20 :(得分:2)

(上下文:我的操作系统是使用AWS的Amazon linux。它似乎与RedHat类似,但它似乎已被删除了一点。)

退出shell,然后打开一个新shell。 pip命令现在有效。

这就解决了这个地方的问题。

您可能也想知道:安装软件的pip命令需要像这个例子(例如jupyter)一样编写才能在我的系统上正常工作:

pip install jupyter --user

具体来说,请注意缺少sudo,以及--user

的存在

如果pip docs已经说了所有关于这一切的话,那将是非常好的,但是我猜这会输入更多的字符。

答案 21 :(得分:2)

要解决Mac中“ bash:pip:找不到命令”的问题,

在Mac 1上找到两个版本是2.7,另一个是3.7

  • 当我说 sudo easy_install pip 时,pip的安装版本低于2.7

  • 当我说 sudo easy_install-3.7 pip 时,pip安装在3.7以下

但是,每当我需要进行pip install时,我都想在python3.7下安装该软件包,因此我在.bash_profile中设置了别名(alias pip = pip3)

所以现在,每当我进行pip install时,都会在python3.7下安装

答案 22 :(得分:1)

基于this stackoverflow answer和该线程的一些答案,我在rc文件中创建了一个别名: alias pip="python -m pip"

这个问题似乎有很多不同的答案,但这似乎是最佳实践方法。

答案 23 :(得分:1)

问题似乎是您的python版本和要安装的库yoıu在版本上不匹配。例如:如果Django是Django3,而您的python版本是2.7,则可能会收到此错误。

“安装后,'python'仍然运行python 2.6,并且PATH尚未更新。”

1-安装最新版本的Python 2-手动将PATH更改为python38并进行比较。 3-尝试重新安装。

我解决了此问题,方法是用最新版本的Python手动替换PATH。 对于Windows:; C:\ python38 \ Scripts

答案 24 :(得分:0)

apt -y -qq install python3 python3-pip
ln -s /usr/bin/python3 /usr/bin/python
ln -s /usr/bin/pip3 /usr/bin/pip

答案 25 :(得分:0)

用于安装pip3的更新命令是:

sudo apt-get install python3-pip

答案 26 :(得分:0)

我花了很长时间浏览本页上的所有答案,但在s-walsh

的OP问题的评论中找到了最适合我的一个

答案是使用pip3:

$ pip3 install <name-of-install>

答案 27 :(得分:0)

通过升级python 3 brew python upgrade解决了此问题:  现在我可以做:

pip3 install  <package>  

==> python
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have 

答案 28 :(得分:0)

python-pip使用 pip 的过时版本(9.0)更新pip编辑/usr/bin/pip后,当前发布的pip版本为(18.0):

from pip import main

from pip._internal import main

此对pip 18.0起作用的问题是对main/usr/bin/pip3重复了/usr/bin/pip2函数名更改

还可以查看/usr/local/lib/[your_python_version]/dist-packages/pip/__main__.py/usr/bin/pip

答案 29 :(得分:-1)

我为克服这个问题所做的是sudo apt install python-pip

原来,我的虚拟机尚未安装pip。可以想象其他人也可能有这种情况。

答案 30 :(得分:-2)

执行以下操作:

sudo apt update
sudo apt install python3-pip
source ~/.bashrc

这肯定会安装pip及其所有依赖项。 PS:如果要使用python 2,则此选项适用于python 3;将第二个命令中的python3替换为python

sudo apt install python-pip