为什么pip执行的是python版本3.8.3而不是更高版本?

6yoyoihd  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(243)

在windows 10上,pip安装datareader失败回溯显示此问题发生在位于的python 3.8文件中 c:\Program Files\WindowsApps 我没有访问windowsapps文件夹的权限,因此无法检查文件的内容。
我升级了pip,但问题仍然存在。我为我的用户安装了Python3.9.6并重新启动,但问题仍然存在。我卸载了本地版本的3.9.6,这是一个错误,因为它卸载了pymongo软件包。我为所有用户重新安装了python 3.9.6,即在c:\program files级别。问题依然存在。我的user path变量中的python路径指向python38版本,但不是执行失败代码的版本,因此更改似乎没有意义。
为什么运行runpy.py的3.8.3版本而不是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

决议

我认为,正如bfris所建议的那样,之所以要执行较旧版本的python,是因为在path上的一个更高级的位置安装了python3.8。根据anthony Sotile的建议,我从windows 10上的应用程序和功能中卸载了python 3.8(64位)。卸载删除了我的本地安装和windows安装。在系统属性中,我将用户路径变量更改为指向python 3.9,安装位置为:c\program files\python39\scripts
pip安装正在运行

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题