我创建了以下别名,以便pip3.7
在每次使用pip
命令时运行:
pip='pip3.7'
现在,bash 说:
pip -V pip 18.1 from /home/uname/.local/lib/python3.7/site-packages/pip (python 3.7)
但是,命令which pip
说:
which pip /home/uname/.local/bin/pip
而 pip3.7 的可执行文件似乎位于不同的文件夹中:
whereis pip3.7: /usr/local/bin/pip3.7 /home/uname/.local/bin/pip3.7 /home/uname/.local/bin/pip3
我认为也许在 中which pip
,worldpip
不被视为别名实际触发的命令,因此它会返回 pip 路径,就像别名不存在一样。这让我很困惑,不知道哪个版本实际上是用pip
命令运行的。
答案1
which
只能在 PATH 中找到可执行文件。
type
是 Bash 内置命令,将显示别名,以及其他 Bash 内部命令,如函数、关键字和内置命令,以及可执行文件和散列可执行文件。
shell 会话示例:
$ pip -V
pip 8.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)
$ alias pip=pip3
$ type pip
pip is aliased to `pip3'
$ type pip3
pip3 is /usr/local/bin/pip3
$ which pip
/usr/local/bin/pip
$ pip -V
pip 9.0.1 from /usr/local/lib/python3.4/dist-packages (python 3.4)
$ type pip3
pip3 is hashed (/usr/local/bin/pip3)
答案2
这取决于你想使用什么python解释器。你可以在一台机器上安装相同的python和pip多次。
如果你想使用标准 Python,例如
apt install python3
apt install python3-pip
然后你可以将别名设置为
alias pip='/usr/bin/pip3'
如果你想使用不同的 Python 安装,我建议使用 Python 虚拟环境。你可以使用以下命令安装它
apt-get install python3-venv
您还可以在互联网上找到有关如何使用 Python 虚拟环境的几个教程。