PIP如何在OSX中使用2个Python发行版?我会保留两个单独的包裹“清单”吗?

2024-09-29 19:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

当机器中有2个Python发行版时,我很难理解pip的工作方式。你知道吗

我的设置:

  • OSX 10.9.5版
  • 默认Python(2.7.5 (default, Mar 9 2014, 22:15:05)
  • ActiveState Python(2.7.8 (default, Jul 7 2014, 20:30:57)

我的路径设置为将/usr/local/bin放置在默认目录之后,因为我不想覆盖默认实用程序,但我希望能够在需要时调用它们。因此默认值pythonpip将是系统值:

Mac-JJJ:~ jjarava$ which -a python
/usr/bin/python
/usr/local/bin/python
Mac-JJJ:~ jjarava$ which -a pip
/usr/bin/pip
/usr/local/bin/pip

我所做的就是在“系统”python中用sudo easy_install pip然后sudo mv pip* /usr/bin/安装pip

在那之后,我安装ActiveState,它安装到它们打包在/usr/local/bin中的不同工具的链接,包括“pip”

两个“pip”实例都使用不同的包列表:

Mac-JJJ:~ jjarava$ /usr/bin/pip list | wc -l
      53
Mac-JJJ:~ jjarava$ /usr/local/bin/pip list | wc -l
       7

现在,按照我的想法,当我调用/usr/bin/pip时,我将为“系统”Python添加/删除包,而调用/usr/local/bin/pip将影响与ActivePython关联的包存储库。。。你知道吗

但事实似乎并非如此。例如,当我使用“system”PIP安装“requests”包时,我会在两个“PIP”列表中列出该包。你知道吗

那么,我是不是遗漏了什么?为什么“ActiveState”pip没有列出systemone所列出的所有包,但是在用“system”pip安装一个新包之后,它会显示在两个包列表中?你知道吗

这种情况不会反过来发生——当我安装一个带有“ActiveState”pip的包时,我不会在系统列表中看到它(这是我所说的预期行为)

多谢指点?!你知道吗


Tags: pipdefaultwhich列表binmacusrlocal

热门问题