Python Can';找不到mkvirtualenv,但可以执行它

Python Can';找不到mkvirtualenv,但可以执行它,python,linux,bash,terminal,virtualenv,Python,Linux,Bash,Terminal,Virtualenv,我试图从bash脚本运行mkvirtualenv,不断有人告诉我找不到它,但我的系统似乎无法决定是否能找到它。有人能解释为什么我可以从终端执行,但不能从脚本执行吗 jimbo@wavefront:~$ locate mkvirtualenv jimbo@wavefront:~$ which mkvirtualenv jimbo@wavefront:~$ mkvirtualenv --version 13.1.2 jimbo@wavefront:~$ 这是因为它是一个附加到shell的函数。运行

我试图从bash脚本运行
mkvirtualenv
,不断有人告诉我找不到它,但我的系统似乎无法决定是否能找到它。有人能解释为什么我可以从终端执行,但不能从脚本执行吗

jimbo@wavefront:~$ locate mkvirtualenv
jimbo@wavefront:~$ which mkvirtualenv
jimbo@wavefront:~$ mkvirtualenv --version
13.1.2
jimbo@wavefront:~$

这是因为它是一个附加到shell的函数。运行此命令以查看它:

$type mkvirtualenv

这是因为它是附加到shell的函数。运行此命令以查看它:

$type mkvirtualenv

避免使用
检查二进制文件等。它不是标准化的,不总是可用的,而且本身是外部二进制文件(因此比更好的选择更昂贵)

更好的选择是
类型
命令


它们都是内置的,都是标准化的(至少在最基本的级别上),而且由于它们是内置的,所以也可以看到shell函数和别名。

避免使用
检查二进制文件等。它不是标准化的,不总是可用的,而且本身是外部二进制文件(因此比更好的选择更昂贵)

更好的选择是
类型
命令


它们都是内置的,都是标准化的(至少在最基本的级别上是如此),而且因为它们是内置的,所以也可以看到shell函数和别名。

非常感谢-答案选择很难:(非常感谢-答案选择很难:(