在树莓派同时拥有 python3.6 和 3.7 时 pip 异常

环境和需要说明

在树莓派上想要尝试一下树莓派智能识别,可是树莓派预装的python版本是3.7版本.因为项目需要tensorflow包,故安装了python3.6让其完成对tensorflow库的下载.可是当我安装完Py3.6和python3-pip,代码如下

sudo apt-get install python3.6
sudo apt-get install python3-pip

错误产生

对其pip进行更新时,我是这样做的:

python3.6 -m pip --upgrade pip

但是却出现了

Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/lib/python3/dist-packages/pip/__main__.py", line 16, in <module>
    from pip._internal import main as _main  # isort:skip # noqa
  File "/usr/lib/python3/dist-packages/pip/_internal/__init__.py", line 40, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 8, in <module>
    from pip._internal.cli import cmdoptions
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 17, in <module>
    from pip._internal.locations import USER_CACHE_DIR, src_prefix
  File "/usr/lib/python3/dist-packages/pip/_internal/locations.py", line 10, in <module>
    from distutils import sysconfig as distutils_sysconfig
ImportError: cannot import name 'sysconfig'

自己尝试解决

  • 更换新源
    搜索后,博客内容基本上都是些更换更新源后更新系统,然后再次安装python3-pip
    本人也确实这样做了,但是并没有好的效果
  • 卸载高版本和pip
    sudo apt-get autoremove python3-pip
    sudo apt-get autoremove python3.7
    sudo reboot # 重启
    # 再次安装pip
    sudo apt-get install python3-pip
    # 再次更新
    python3.6 -m pip --upgrade pip
    发现还是出现一样的报错内容ImportError: cannot import name 'sysconfig'

    最后

    给您舔麻烦了,谢谢您的观看,也请您告知解决方法,谢谢了

谢谢

讨论数量: 8
Jason990420

没树莓派, 也不清楚怎么搞, 但是建议你完全移除 (移除 Python 所有的内容), 再装 Python 3.6, pip就不用重新安装, 直接升级.

3年前 评论
Almost (楼主) 3年前
Jason990420 (作者) 3年前
Almost (楼主) 3年前
Jason990420

目录不多啊, 可能就有安装过python版本的目录啊, 像 python35, python36, python37, python38 的主目录

3年前 评论
Almost (楼主) 3年前

#先安装python3.6+依赖的软件包 sudo apt-get install build-essential libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libffi-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev

#编译安装python3.6+,根据需要选择

#wget www.python.org/ftp/python/3.6.3/Py... wget www.python.org/ftp/python/3.7.2/Py... tar xzvf Python-3.tgz cd Python-3/ sudo ./configure && sudo make && sudo make install

ref:www.wilf.cn/post/compile-install-p...

python --version Python 3.9.2 python3.6 --version Python 3.6.3

which python /usr/bin/python which python3 /usr/local/bin/python3

sudo mv /usr/bin/python /usr/bin/python3.9.2 sudo ln -s /usr/local/bin/python3 /usr/bin/python python --version Python 3.6.3

测试是否成功

python --version Python 3.6.1

ref:www.raspigeek.com/index.php?c=read&...

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!