【问题标题】:netplan not working after change default python更改默认python后netplan无法正常工作
【发布时间】:2021-01-04 06:52:18
【问题描述】:

在 ubuntu 18.04 中,当我通过以下命令将默认 python 从 python 3.6 更改为其他版本时:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1

或者当我删除 python 3.6 并安装其他版本时 netplan apply 不起作用并导致此错误:

  File "/usr/sbin/netplan", line 20, in <module>
    from netplan import Netplan
  File "/usr/share/netplan/netplan/__init__.py", line 18, in <module>
    from netplan.cli.core import Netplan
  File "/usr/share/netplan/netplan/cli/core.py", line 24, in <module>
    import netplan.cli.utils as utils
  File "/usr/share/netplan/netplan/cli/utils.py", line 25, in <module>
    import netifaces
ModuleNotFoundError: No module named 'netifaces'

并且命令pip install netifaces 有一些错误。

【问题讨论】:

    标签: python ubuntu netplan


    【解决方案1】:

    我之前在 vagrant 上遇到过同样的问题。如果你使用update-alternatives 使python3 别名指向另一个版本的Python,vagrant 将不起作用。你不能使用update-alternatives来改变Python3的别名。

    【讨论】:

      【解决方案2】:

      由于某种原因,在我的 ubuntu 服务器进行更新后,我丢失了我的 python 配置,解决方法:

      检查是否可以在 CLI 上导入模块:

      python
      import python
      

      在收到相同的消息后,我意识到我的 python 环境正在使用这些模块,即使它们都显示为已安装,我继续“升级”python 模块:

      python pip install --upgrade pip
      
      python pip install --upgrade netifaces
      
      python pip install --upgrade "any module you need to use for your script"
      

      就像那些模块被识别更新并正确安装一样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-10
        • 1970-01-01
        • 1970-01-01
        • 2020-06-10
        • 1970-01-01
        • 1970-01-01
        • 2017-03-09
        • 2013-02-16
        相关资源
        最近更新 更多