如何将pip3命令更改为pip?
我卸载了如何将pip3命令更改为pip?,pip,Pip,我卸载了pip,改为安装了pip3。现在,我只想通过键入pip来使用pip3。原因是我习惯于只键入pip,每个指南都使用pip命令,所以每次我想复制和粘贴命令时,我都必须将pip修改为pip3,这浪费了时间。当我键入pip时,有一个错误是pip:command not found,这意味着没有执行pip命令。是否可以将pip指向pip3?您可以向~/.bashrc添加别名 alias pip=pip3 或者将名为pip的符号链接添加到指向pip3二进制文件的$PATH中 (顺便说一句,尽管关于
pip
,改为安装了pip3
。现在,我只想通过键入pip
来使用pip3
。原因是我习惯于只键入pip
,每个指南都使用pip
命令,所以每次我想复制和粘贴命令时,我都必须将pip
修改为pip3
,这浪费了时间。当我键入pip
时,有一个错误是pip:command not found
,这意味着没有执行pip
命令。是否可以将pip
指向pip3
?您可以向~/.bashrc添加别名
alias pip=pip3
或者将名为pip的符号链接添加到指向pip3二进制文件的$PATH中
(顺便说一句,尽管关于pip并不是真正与python相关的问题,所以您应该重新标记它)
更新日期:2020年7月
如果macOS上的主目录中没有~/.bashrc,请输入
alias pip=pip3
在~/.zprofile文件中也有同样的效果,只需为命令创建别名即可。 要创建别名,只需键入
$alias new\u command=“existing\u command”
在您的情况下,
$alias pip=“pip3”
虽然这不是永久性的。不要将其永久化编辑您的bashrc文件$vim~/.bashrc
在它的末尾附加一行。
$alias pip=“pip3”
解决方案1
检查pip指向的版本
pip --version
pip 18.0 from /usr/lib/python2.7/site-packages/pip (python 2.7)
如果您的pip
指向pip2
,请找到pip“二进制”的位置
这是一个简单的python脚本:
cat /usr/bin/pip
#!/usr/bin/python2
# -*- coding: utf-8 -*-
import re
import sys
from pip._internal import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
所以只需将shebang从#更改为!/usr/bin/python2
到#/usr/bin/python3
现在pip
指向pip3
pip --version
pip 18.0 from /usr/lib/python3.6/site-packages/pip (python 3.6)
解决方案2
删除/usr/bin/pip
创建一个从想要的pip版本到它的符号链接
sudo rm /usr/bin/pip
sudo ln -s /usr/bin/pip3.6 /usr/bin/pip
与在bash中手动创建自己的别名并希望它不会与任何内容冲突不同,大多数包管理器应该允许您在维护依赖关系的同时注册希望使用的版本 例如,在Linux上:
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
或在Mac(MacPorts)上:
在主目录中更改bashrc文件后,可以为pip3编写pip 在mac中- 打开bashrc文件-
vim ~/.bashrc
在文件末尾添加此行-
alias pip="pip3"
关闭文件。别忘了在终端中通过
source ~/.bashrc
你可以走了。现在,无论何时在任何命令中使用pip。它将被解释为pip3
您可以通过运行以下命令进行检查-
pip --version
由于您卸载了
pip
,此解决方案假定您只使用pip3
pip --version
pip 18.0 from /usr/lib/python3.6/site-packages/pip (python 3.6)
sudo ln-s/usr/bin/pip3/usr/bin/pip
pip
时,它将调用pip3
pip --version
pip 18.0 from /usr/lib/python3.6/site-packages/pip (python 3.6)
通过键入pip--version
pip --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
你都准备好了 复制pip3文件并重命名为pip:
sudo cp/usr/bin/pip3/usr/bin/pip
pip——版本
及
现在可以了。我认为不应该做这样的事。实际上,我认为最好永远不要使用
pip
、pip3
等脚本。相反,对于一个特定的Python解释器,人们应该总是更喜欢使用pip的可执行模块这一更明确、更可靠的方式:
path/to/pythonX.Y -m pip somecommand
参考资料:
- Pip安装在/usr/bin/中。如果您根本没有pip,我建议只安装pip3。确保您不需要旧版本
您可以使用以下命令检查可用的pip版本
ls/usr/bin/pip*
如果你有多个pip,你需要优先考虑你的pip版本。我只有pip3,所以我把它添加到第一优先级。您可以使用下面的命令,它就完成了
sudo更新替代方案——安装/usr/bin/pip-pip/usr/bin/pip3-1
您将获得以下输出:
更新备选方案:使用/usr/bin/pip3在自动模式下提供/usr/bin/pip(pip)
立即测试:
pip——版本
您将获得:
来自/usr/lib/python3/dist-packages/pip(python 3.7)的PIP18.1
如果您有python2.7的其他版本,您可以使用相同的更新命令并将最后一位数字1更改为2。这将使它成为第二优先事项。我如何找到~/.bashrc?根据你的推荐,我重新标记了我的帖子。实际上,这只涉及Linux/*nix(包括Mac),所以如果你使用的是Windows,我帮不了你。在基于unix的系统中,~代表主目录(或者如果您不使用BASH,它可能是其他文件,如.zshrc),在Ubuntu 18.04中,.bashrc检查.BASH\u别名是否存在时,这对我来说很有用:
alias pip=pip3>~/.BASH\u别名
alias pip=pip3>~/.BASH\u别名对我有用,非常感谢。TeddybearCrisis@Ambitions对于MacOS,转到Macintosh HD/Users/yourname/directory。请把这个别名放在任何.BasHC或.BasHyPrror中。请考虑我的答案,我认为,它比别名更合适,对于这个特定的情况,我会考虑使用<代码> VielalEnv。<代码>别名< /代码>或<代码> SyLink < /代码>是一种选择,但我认为与<代码>更新备选版会更好。因为,您不想一次又一次地更新.bashrc
文件,也不想为类似的情况(例如python3
及其不同版本)创建一组符号链接。为“pip”选择“pip3”失败:指定的组“pip”不存在。@user3424037可能是旧版本的MacPorts(不支持此操作-请参阅),或者Pip是通过MacPorts以外的方法安装的。@据我所知,ndemarco只创建一个链接,然后跟踪该链接,以确保在应用程序更新时更新该链接,在应用程序删除时删除该链接,并且不会与其他应用程序冲突。我不确定这个过程的技术细节和pr
path/to/pythonX.Y -m pip somecommand