2016-11-27 124 views
16

我有一台OS X El Captain的Macbook。我认为Python 2.7预装在它上面。但是,我也安装了Python 3.5。当我开始使用Python 3,我看了,如果我想安装一个软件包,我应该输入:pip或pip3为Python 3安装软件包?

pip3 install some_package 

不管怎样,现在当我使用

pip install some_package 

我得到安装Python 3some_package。我的意思是我可以导入它并毫无问题地使用它。此外,当我输入只是pip3Terminal,我得到这个消息,使用方法:

Usage: 
    pip <command> [options] 

这是当我输入只是pip相同的消息,我得到。

这是否意味着在previos版本中,情况有所不同,现在pippip3可以互换使用吗?如果是这样,并且为了争论,我怎样才能为Python 2而不是Python 3安装软件包?

回答

13

您的pippip3是指向同一个可执行文件路径的软链接。 您可以在下面用命令来检查您的pippip3实际路径是:

$ ls -l `which pip` 
$ ls -l `which pip3` 

你也可以使用下面的命令来了解更多的细节:

$ pip show pip 
$ pip3 show pip 

当我们安装了不同版本的Python,我们可能会做这样的软链接到

  • 将默认pip设置为某个版本。
  • 为不同版本制作不同的链接。

是相同的情况下约pythonpython2python3

4

这是一个棘手的问题。最后,如果您调用pip,它将调用pip2pip3,具体取决于您如何设置系统。

1

如果你安装了Python 2.7,我想你可以使用pip2pip2.7安装软件包专门为Python 2中,像

pip2 install some_pacakge 

pip2.7 install some_package 

而且你可以使用pip3pip3.5到安装专门针对Python 3的pacakges。

5

当您安装python3pip3被安装。如果你没有安装另一个python(比如python2.7),那么会创建一个链接,指向pippip3

所以pip是为pip3一个链接,如果没有安装蟒的任何其他版本(比python3等)。 pip一般指向第一次安装。

4

如果你有蟒蛇2.x和再装python3,画中画将指向PIP3。 你可以通过输入pip --version来验证,这与pip3 --version相同。

在您的系统上,您现在有pip,pip2和pip3

如果你想改变点子来指向点子2而不是点子3。

+0

你怎么改变 – ahnbizcad

+1

@ahnbizcad最简单的方法是定义一个别名是这样的:别名点子=“PIP 3” – apadana

0

我认为pip,和pip3不是软链接到相同的可执行文件路径。注意此命令和结果在我的Linux终端:

[email protected] ~ $ ls -l `which pip` 
-rwxr-xr-x 1 root root 292 Nov 10 2016 /usr/bin/pip 
[email protected] ~ $ ls -l `which pip2` 
-rwxr-xr-x 1 root root 283 Nov 10 2016 /usr/bin/pip2 
[email protected] ~ $ ls -l `which pip3` 
-rwxr-xr-x 1 root root 293 Nov 10 2016 /usr/bin/pip3 
[email protected] ~ $ pip -V 
pip 9.0.1 from /home/mrz/.local/lib/python2.7/site-packages (python 2.7) 
[email protected] ~ $ pip2 -V 
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7) 
[email protected] ~ $ pip3 -V 
pip 9.0.1 from /home/mrz/.local/lib/python3.5/site-packages (python 3.5) 

正如你看到它们是存在于不同的路径。

pip3只能在Python3环境下运行,因为pip2可以在Python2中运行。点子在任何适合上下文的环境下运行。例如,如果您处于Python3 venv中,pip将在Python3环境中运行。

+0

我会说这是一个有点误导地说,PIP链接到任何环境中是适当的上下文。在venv的情况下,pip可执行文件特定于venv而不是系统。除非你在同一个venv中安装了多个python版本,否则我看不到这个问题。当不使用venv时,使用的pip版本有时是不直观的,取决于系统的配置(通常是由其他版本首先安装的python版本决定的)。但Pip没有任何动态选择版本的智能 –

0

在我的Windows实例 - 我不完全了解我的环境 - 使用pip3安装kaggle-cli包 - 而pip没有。我在conda环境下工作,环境看起来不一样。

(fastai)C:\ Users \用户纂\下载\ fast.ai \ deeplearning1 \ NBS> PIP --version

PIP 9.0.1从C:\ ProgramData \ Anaconda3 \ ENVS \ fastai \ lib中\站点包(蟒3.6)

(fastai)C:\ Users \用户纂\下载\ fast.ai \ deeplearning1 \ NBS> PIP3 --version

PIP 9.0.1从C: \ users \ redact \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages (python 3.6)