【问题标题】:How to route pip specific version to a specific python version? [duplicate]如何将 pip 特定版本路由到特定 python 版本? [复制]
【发布时间】: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。当运行 pippip3 时,它总是产生这个结果

$ 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 世界中,这通常通过使用三元组 (pippip2pip3) 来解决,其中 pipN 指向包管理器 pythonN 和 @987654334 @ 指向任何 Python python 点。检查你是否有pip2 别名,如果没有,创建一个指向(我猜)c:\python27\bin\pip.exe
  • @hoefling 介意分享将特定 pipN 映射到 pythonN 的命令吗?不是在 unix 中,而是在 windows 中
  • 这只是一个语义映射,不是你用命令做的事情。你已经有pip3 指向python3 的pip 和pip 指向pip3,剩下的就是为python2 的pip 设置pip2 别名-找出其可执行文件的路径和使用set-alias,就像您在问题中所做的那样。

标签: python windows pip


【解决方案1】:

Windows 上的简单解决方案是通过相应的 python 可执行文件使用 -m 选项。那么唯一的要求是你有单独的 python 可执行文件,你似乎已经找到了解决方案。

py2 -m pip install somemodule
py3 -m pip install somemodule

如果您需要使单独的可执行文件工作,我快速而肮脏的解决方法是复制相应的可执行文件,将它们重命名为 py2/py3 或 python2/python3,然后将它们放在 C:\Windows 文件夹中。之后他们将在新的 cmd 会话中工作。

要以更有条理的方式制作单独的可执行文件,请将 python 2 和 3 的可执行文件复制到 C:\Users\eraw\AppData\Local\Programs\Python\executables 文件夹中的文件夹中,以最适合的方式重命名它们您(py、python、python2、python3 等),然后通过转到我的计算机(Windows 7)或这台电脑(Windows 10)-> 高级设置-> 环境变量-> 编辑将该文件夹添加到 windows 路径变量路径变量。在 Windows 7 及更早版本上要小心使用分号,不要使用任何空格。

【讨论】:

  • 我跑了同样的答案,是的,我发现我可以使用 pip2 和 pip3 它解决了问题但是 set-alias 不是持久的,每当我尝试执行 py3 或 py2 时除非重新设置,否则不会工作
  • 看来我必须将 python27\python.exe 重命名为 python2 并将 python36\python.exe 重命名为 python3 并将它们的位置添加到路径 env。
  • 好的,我对可执行文件的快速而肮脏的修复是复制相应的可执行文件,将它们重命名为 py2/py3 或 python2/python3,然后将它们放在 C:\Windows 文件夹中。重启 cmd 然后试试看。
  • 是的,非常感谢,我已经做到了,您可以将其添加为您的答案
  • 如果你想让它更干净,我在 C:\Users\username\AppData\Local\Programs\Python 中创建一个名为executables的文件夹,将所有可执行文件添加到路径中。
猜你喜欢
  • 1970-01-01
  • 2015-07-27
  • 2019-09-17
  • 2021-12-21
  • 2021-03-10
  • 1970-01-01
  • 2021-12-03
  • 2017-11-10
  • 1970-01-01
相关资源
最近更新 更多