2016-07-25 59 views
-3

的含义。我打电话给一个程序。示例'pip'(因为我在pip中遇到问题)以及Linux系统如何找到该程序?从终端调用程序时会发生什么?

我遇到了点安装问题,并试图了解当我在终端上键入pip或任何程序时按下回车键时发生了什么。

我希望这可以让我解决这个问题。

,如果你想知道我有是什么问题ImportError: No module named 'pip'

+3

这个问题会更适合[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)。由于*此问题似乎不是在[帮助中心](http://stackoverflow.com/help/on-topic)中定义的范围内编程的。* –

回答

0

Linux将搜索在环境变量PATH中列出的所有可用的目录,如果找到任何路径pip,它会尝试执行它。然后如果文件pip对用户具有可执行权限,则系统将执行该命令。

0

一般来说,shell会搜索PATH变量中列出的目录,以查找输入名称的文件。如果要查找shell实际上试图运行的文件,请在类似unix的系统上(不读窗口),运行which pip。我相信相当于where pip的窗口,但不要引用我的话。

您遇到的具体错误似乎是Python运行的结果,如python -m pip这意味着Python,请运行名为pip的模块。鉴于您的系统上存在名为pip的某个文件,该文件尝试运行pip,我猜测以下两种情况之一正在发生。

  1. 要么你已经删除了一些莫名其妙的文件,在这种情况下,你应该尝试重新安装pip

  2. ,或者你已经改变了蟒蛇是默认的Python,和你没有pip模块在你现在正在使用的python中。

为了测试最后的理论,尝试运行which python,如果有在路径2,然后运行python3 -m pip,看看蟒蛇搞混了。相反,如果您的系统默认使用python3,则上述命令的结果中将显示3,您可以尝试python2 -m pip

希望能够帮助我们清理一下Python版本化的问题。

+0

谢谢。我一直在为此工作半天。 我做这Python和我 在/ usr/bin中/ Python的 我做这点子和我 在/ usr/local/bin目录/ PIP 我的假设是,由于蟒蛇和PIP是在两个不同的位置我的点子正在打破。它是否正确? –

+0

这完全有可能。我建议打开应该是文本文件的'/ usr/local/bin/pip',看看你能不能找出它想要的。 – Mobius

相关问题