我正在尝试安装猕猴桃但由于下面给出的问题,它无法安装。
请帮忙解决此问题。谢谢。
我正在使用pip3
它来安装它。
python -m pip install kivy==1.11.1
我已经遵循了本网站。
由于我无法在此处发布错误,因此我已在 pastebin.com 上发布。
预期行为:
需要安装 Kivy。
当前行为:
Kivy 无法安装并导致问题。
这是尝试安装 MS Visual C++ 14.0 时的日志:
[6198:3BE8][2019-12-29T19:15:17]i108: Detected compatible package: vcRuntimeAdditional_x86, provider: Microsoft.VS.VC_RuntimeAdditionalVSU_x86,v14, installed: {C9DE51F8-7846-4621-815D-E8AFD3E3C0FF}, version: 14.20.27508, chained: {BE960C1C-7BAD-3DE6-8B1A-2616FE532845}
[6198:3BE8][2019-12-29T19:15:17]i103: Detected related package: {C9DE51F8-7846-4621-815D-E8AFD3E3C0FF}, scope: PerMachine, version: 14.20.27508.0, language: 0 operation: Downgrade
[6198:3BE8][2019-12-29T19:15:17]i052: Condition '(windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10137.0)' evaluates to false.
[6198:3BE8][2019-12-29T19:15:17]i052: Condition '(windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10137.0)' evaluates to false.
[6198:3BE8][2019-12-29T19:15:17]i052: Condition '(windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10137.0)' evaluates to false.
[6198:3BE8][2019-12-29T19:15:17]i052: Condition '(windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10137.0)' evaluates to false.
[6198:3BE8][2019-12-29T19:15:17]i052: Condition '(windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10137.0)' evaluates to false.
[6198:3BE8][2019-12-29T19:15:17]i052: Condition '(windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10137.0)' evaluates to false.
[6198:3BE8][2019-12-29T19:15:17]i052: Condition '(windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10137.0)' evaluates to false.
[6198:3BE8][2019-12-29T19:15:17]i052: Condition '(windows_uCRT_DetectKeyExists AND windows_uCRT_DetectKey >= v10.0.10137.0)' evaluates to false.
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: vcRuntimeMinimum_x86, state: Obsolete, cached: None
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: vcRuntimeAdditional_x86, state: Obsolete, cached: None
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: Windows81_x86, state: Absent, cached: None
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: Windows81_x64, state: Absent, cached: None
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: Windows8_x86, state: Absent, cached: None
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: Windows8_x64, state: Absent, cached: None
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: Windows7_MSU_x86, state: Absent, cached: None
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: Windows7_MSU_x64, state: Absent, cached: None
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: WindowsVista_MSU_x86, state: Absent, cached: None
[6198:3BE8][2019-12-29T19:15:17]i101: Detected package: WindowsVista_MSU_x64, state: Absent, cached: None
[6198:3BE8][2019-12-29T19:15:17]i052: Condition 'VersionNT >= v6.0 OR (VersionNT = v5.1 AND ServicePackLevel >= 2) OR (VersionNT = v5.2 AND ServicePackLevel >= 1)' evaluates to true.
[6198:3BE8][2019-12-29T19:15:17]i199: Detect complete, result: 0x0
[6198:1334][2019-12-29T19:15:20]e000: Error 0x80070666: Cannot install a product when a newer version is installed.
抱歉在这里发帖,因为我不知道在哪里问这个问题。
我是否在正确的地方提出了问题?
答案1
pip
来自吡啶甲酸在撰写本文时,PyPI 上的 Kivy 1.11.1只有适用于 Python 2.7 和 3.5 的轮子 - 3.7。
根据您的 Pastebin 输出,您似乎正在使用 Python 3.8。这意味着 Python 目前无法使用 PyPI 中任何预构建的轮子。并且pip
似乎在为 Python 3.8 从头编译 Kivy 时遇到了问题(这对于 Windows 上更复杂的项目/模块来说并不罕见)。
作为一般建议,你应该考虑使用当前版本,例如 Python 3.7(例如 Python 3.7.6),因为这应该可以毫不费力地解决您遇到的问题。
多个 Python 安装
在 Windows 上,你可以安装多个版本的 Python,而一个安装不会影响其他版本。只需通过正常安装过程安装你想要使用的附加版本的 Python(例如,使用 vanilla 安装程序)即可python.org链接见上文)。
注意事项
然而,话虽如此,仍有一些事情需要注意:
为了确保没有问题,您可能需要考虑使用自定义安装选项,而不是默认的“简单”安装。
Python 的特定分支通常会使用相同的默认文件夹(例如
Python37-32
,Python38-32
等)。由于您打算使用不同版本的 Python,因此这可能不是问题。但请注意,您可以根据需要更改 Python 的默认安装文件夹(在自定义安装选项下)。
一次只能有一个版本的 Python 驻留在您的 Windows 环境路径中(即只需使用 即可访问
python
)。您将需要通过其完整路径(例如)引用当前不在您的路径中的任何其他版本,
C:\path\to\Python37\python.exe
或使用其他方式引用适当的版本python.exe
(请参阅本答案末尾的注释)。pip
同样,您的 Windows 环境路径中一次只能驻留一个版本。如果你希望使用与特定 Python 版本关联的版本
pip
(正确安装模块所必需),我建议使用python -m pip
而不是仅仅pip
。因此,要安装 Kivy,你可以使用例如C:\path\to\Python37\python.exe -m pip install Kivy
。与您的文件扩展名关联的 Python 版本
.py
和可从命令行(使用python
)获得的版本之间可能存在断开连接。这不是真正的问题,但这种情况可能会导致
module not found
错误。因此,您可能需要将.py
文件扩展名与要使用的 Python 的默认安装(重新)关联,或者使用正确的 Python 版本显式调用脚本(例如C:\path\to\Python37\python.exe script.py
)。
引用另一个 Python 版本
如果您想python/pip
在命令行中使用多个版本而不使用完整路径,有几种方法可以解决此要求。
选项1
使用适用于 Windows 的 Python 启动器(py.exe
),它通常默认随 Windows 上的 vanilla Python 一起安装。您可以py.exe
通过运行以下命令来验证它是否已安装并位于您的环境路径中:
where py
假设where
返回一个路径(而不是INFO: Could not find files for the given pattern(s)
),然后您可以使用例如与Python 3.7进行交互。py -3.7 script.py
并通过以下方式将Kivy安装到Python 3.7中py.exe
:
py -3.7 -m pip install Kivy
选项 2
创建.bat
引用正确位置的文件(也捕获任何命令行参数)并将它们放在您的环境路径中,例如:
例如 python37.bat
C:\path\to\Python37\python.exe %*
和
例如 pip37.bat
C:\path\to\Python37\Scripts\pip.exe %*
.bat
然后可以相应地使用这些文件,例如。python37 script.py
要使用这些批处理文件安装 Kivy:
python37 -m pip install Kivy
或者:
pip37 -m pip install Kivy
选项 3
将 eg 添加C:\path\to\Python37
到 Windows 环境变量中(例如在安装期间),然后在 Python 3.7 文件夹和 Python 3.7 文件夹中重命名python.exe
和(分别)。然后,您可以(再次)在 Python 3.7 的命令行中使用类似 eg和的内容。pip.exe
Scripts
python37.exe
pip37.exe
虽然这种方法没有太多问题,但一个缺点是 Python 本身将来可能无法升级/删除这些不规则命名的文件(在这些情况下您需要采取额外步骤)。