首页 > 解决方案 > 为什么 pip 执行 python 版本 3.8.3 而不是更高版本?

问题描述

在 Windows 10 上, pip install pandas-datareader failed 回溯显示,此问题发生在位于的 Python 3.8 文件中c:\Program Files\WindowsApps

我无权访问 WindowsApps 文件夹,因此无法检查文件的内容。

我升级了 pip,但问题仍然存在。我为我的用户安装了 Python 3.9.6 并重新启动,但问题仍然存在。我卸载了我的本地版本 3.9.6,这是一个错误,因为它卸载了 pymongo 包。我为所有用户重新安装了 Python 3.9.6,即在 C:\Program Files 级别。问题依然存在。我的用户路径变量中的 python 路径指向 Python38 版本,但不是正在执行失败代码的版本,因此更改似乎毫无意义。

为什么执行的是 3.8.3 版本的 runpy.py 而不是 3.9.6 版本?

N:\>cd onedrive

N:\OneDrive>cd python

N:\OneDrive\python>pip install pandas-datareader
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 185, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 144, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 155, in _get_module_details
    code = loader.get_code(mod_name)
  File "<frozen importlib._bootstrap_external>", line 981, in get_code
  File "<frozen importlib._bootstrap_external>", line 911, in source_to_code
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ValueError: source code string cannot contain null bytes

解析度

我认为执行较旧版本的 Python 的原因是,正如 bfris 所建议的,因为在路径上的优越位置安装了 python 3.8。根据 Anthony Sottile 的建议,我从 Windows 10 上的应用和功能中卸载了 Python 3.8(64 位)。卸载删除了我的本地安装和 Windows 安装。从系统属性中,我将用户路径变量更改为指向我选择的安装位置的 Python 3.9:c\Program Files\Python39\Scripts

点安装现在工作

标签: pythonpipvalueerror

解决方案


推荐阅读