【问题标题】:Can't find mkvirtualenv, but can execute it找不到 mkvirtualenv,但可以执行
【发布时间】:2016-01-22 16:35:22
【问题描述】:

我正在尝试从 bash 脚本运行 mkvirtualenv,但我一直被告知找不到它 - 但我的系统似乎无法决定是否使用它可以找到它。谁能解释为什么我可以从终端执行它,但不能从脚本执行?

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

【问题讨论】:

    标签: python linux bash terminal virtualenv


    【解决方案1】:

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

    $ type mkvirtualenv
    

    【讨论】:

    • 非常感谢 - 恐怕答案选择的艰难选择:(
    【解决方案2】:

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

    更好的选择是typecommand

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

    【讨论】:

      猜你喜欢
      • 2014-11-04
      • 2018-09-07
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 1970-01-01
      相关资源
      最近更新 更多