我下载了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没有更新。答案 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_install3
和python3-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
答案 8 :(得分:10)
要解决:
将此行添加到〜/ .bash_profile
export PATH =“/ usr / local / bin:$ PATH”
在终端窗口中,运行
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
自:
答案 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)
$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)
答案 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