【问题标题】:Using pip on Windows installed with both python 2.7 and 3.5在安装了 python 2.7 和 3.5 的 Windows 上使用 pip
【发布时间】:2017-02-12 13:49:54
【问题描述】:

我使用的是 Windows 10。目前,我安装了 Python 2.7。我也想安装 Python 3.5。但是,如果我同时安装了 2.7 和 3.5,当我运行 pip 时,如何将要安装的包直接安装到所需的 Python 版本?

【问题讨论】:

  • python -m pip 将使用 python 在您的路径上的第一个位置。
  • 尝试使用pip3 install packagename

标签: python python-2.7 python-3.x pip


【解决方案1】:

您必须使用pip 的绝对路径。

例如:如果我将 python 3 安装到 C:\python35,我会使用: C:\> python35\Scripts\pip.exe install packagename

或者,如果您使用的是 linux,请使用 pip3 install packagename

如果您不指定完整路径,它将使用您的path 中的pip

【讨论】:

    【解决方案2】:

    Farhan.K 的回答会奏效。但是,我认为更方便的方法是将python35\Scripts\pip.exe 重命名为python35\Scripts\pip3.exe 假设python 3 安装在C:\python35 中。

    重命名后,安装包到python v3时可以使用pip3,安装包到python v2时可以使用pip。如果不重命名,您的计算机将使用路径中的任何 pip。

    【讨论】:

      【解决方案3】:

      就我而言,我有 Python 2.7 和 Python 3.4,以及适用于 Windows 的 Python Launcher。

      这是运行此命令时的输出:

      PS C:\> pip -V
      pip 9.0.1 from c:\python27\lib\site-packages (python 2.7)  
      
      PS C:\> pip3 -V
      pip 9.0.1 from C:\Python34\lib\site-packages (python 3.4)  
      

      我会注意到在我的Python27\Scripts\ 目录中,我有pip.exepip2.exepip2.7.exe
      在我的Python34\Scripts\ 目录中,我有pip.exepip3.exepip3.4.exe
      因此,当您同时安装不同版本的 Python 时,所有这些 .exe 文件都会为您提供帮助。

      当然,要使其正常工作,您必须在 Path 系统环境变量中拥有相应的 Scriptsdirectries。

      【讨论】:

        【解决方案4】:

        我尝试了很多东西,最后 pip3 install --upgrade pip 为我工作,因为我在我的系统上安装了 python3 和 python2.7,因为我正面临这个问题。 请注意开头的 pip3 和结尾的 pip。 是的,您必须在管理员模式下运行命令提示符并确保路径设置正确。

        【讨论】:

          【解决方案5】:

          我在使用绝对路径运行 pip 时遇到了问题。这可能与 WinPython 的安装例程以及先安装 Python 3.6、2.7 或 Python 3.6 在路径中的顺序有关。

          不管调用哪个pip,都是激活3.6的:

          λ  C:\prog\WinPython-64bit-2.7.13.1Zero\python-2.7.13.amd64\Scripts\pip2.exe --version
          pip 9.0.1 from C:\prog\WinPython-64bit-3.6.1.0Zero\python-3.6.1.amd64\lib\site-packages (python 3.6)
          

          最终的诀窍是将 pip 作为相应 python 二进制文件的模块调用:

          λ  C:\prog\WinPython-64bit-2.7.13.1Zero\python-2.7.13.amd64\python.exe -m pip --version
          pip 9.0.1 from C:\prog\WinPython-64bit-2.7.13.1Zero\python-2.7.13.amd64\lib\site-packages (python 2.7)
          

          希望对有类似问题的人有所帮助。

          【讨论】:

            【解决方案6】:

            1-打开命令提示符并使用命令cd C:\Python35\Scripts改变方向

            2-写命令pip3 install --upgrade pip

            3-关闭命令提示符并再次打开它以返回默认方向并使用命令pip3.exe install package_name安装您想要的任何软件包

            【讨论】:

              【解决方案7】:

              因为通常我会更改我的解释器来运行某些东西(我有 2 个 2 和 3 的差异项目),所以我使用这些解决方案:

              1. 照常添加环境路径(当然)
              2. 重命名你的 python.exe ,在我的情况下,我想在我的 cmd 上使用命令 python3 运行 python 3。所以我用python3重命名了python3.x目录中的python.exe。它适用于 python 2 ofc。
              3. 然后要在两个 python 中使用 pip,我使用这个命令。

              python3 -m pip install 'somepackage'

              并在 python2 上运行 pip

              python -m pip install 'somepackage'
              

              这可能不是最好的解决方案,但我喜欢这个

              ** 视窗 **

              参考:https://datascience.com.co/how-to-install-python-2-7-and-3-6-in-windows-10-add-python-path-281e7eae62a

              【讨论】:

              • 你好,这是我做的。但是,当我执行py -2 -m pip install venev 之类的操作时,它仍然将其安装到 Python 3。
              • @Y2H 你好!我不明白你在用py -2做什么,如果你想在这里用我的解决方案运行python 2,所以在用py2.exe重命名python.exe(v 2)之后,你应该通过@987654328运行脚本@。关键是您需要使用您喜欢的命令重命名您的版本的 python.exe 并使用重命名的命令照常运行它
              • 如果您默认使用 Python 3,则需要执行 python2 -m pip install 'somepackage'。使用命令 pip2 对我不起作用。
              【解决方案8】:

              我建议不要直接调用任何 pip 脚本(也不要直接调用 pip3pip2.7.exe 等)。

              相反,一个可靠的方法是总是更喜欢为特定的 Python 解释器调用 pip 的可执行模块的显式变体:

              • path/to/pythonX.Y -m pip somecommand
              • path/to/venv/bin/python -m pip somecommand
              • C:\path\to\venv\Scripts\python.exe -m pip somecommand

              这样做有很多好处,例如:

              • 明确了项目将为哪个 Python 解释器pip 安装(Python 2 或 3,是否在虚拟环境中,等等)
              • 对于虚拟环境,可以pip-install(或执行其他操作)而不激活它:path/to/venv/bin/python -m pip install SomeProject
              • 在 Windows 下,这是安全升级 pip 自身的唯一方法path\to\venv\Scripts\python.exe -m pip install --upgrade pip

              但是是的,如果一切都完美设置,那么 python3 -m pip install SomeProjectpip3 install SomeProject 应该做同样的事情,但是有太多的情况是设置存在问题并且事情没有按预期工作并且用户会感到困惑(正如该平台上有关此主题的许多问题所示)。

              参考文献

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2013-12-25
                • 1970-01-01
                • 1970-01-01
                • 2017-07-06
                • 2017-09-05
                • 2017-04-05
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多