【发布时间】:2018-06-27 14:34:31
【问题描述】:
目前我有 python2.7 和 pip v9.0.1 在这个位置路由c:\python27\lib\site-packages (python 2.7)
现在当我使用安装向导安装 python3.6 时,它搞砸了。在 cmd 上运行 python 总是指 python3。
$ python
Python 3.6
>>>
要解决我需要这样做:
$ set-alias py2 c:\python27\python.exe
$ set-alias py3 c:\python36\python.exe
现在我怎样才能为 pip 做同样的事情? python3 从向导安装了自己的 pip。当运行 pip 和 pip3 时,它总是产生这个结果
$ pip
pip 9.0.1 from c:\python36\lib\site-packages (python 3.6)
$ pip3
pip 9.0.1 from c:\python36\lib\site-packages (python 3.6)
【问题讨论】:
-
如果这是 Ubuntu 上的问题,正确的方法是使用名为
alternatives的程序,它是一个软链接管理器,用于跟踪一组软件的版本控制选项。我一直在source activate XX脚本中使用它。不确定是否有适用于 Windows 的类似工具。 -
在 Unix 世界中,这通常通过使用三元组 (
pip、pip2、pip3) 来解决,其中pipN指向包管理器pythonN和 @987654334 @ 指向任何 Pythonpython点。检查你是否有pip2别名,如果没有,创建一个指向(我猜)c:\python27\bin\pip.exe。 -
@hoefling 介意分享将特定 pipN 映射到 pythonN 的命令吗?不是在 unix 中,而是在 windows 中
-
这只是一个语义映射,不是你用命令做的事情。你已经有
pip3指向python3的pip 和pip指向pip3,剩下的就是为python2的pip 设置pip2别名-找出其可执行文件的路径和使用set-alias,就像您在问题中所做的那样。