目录
ModuleNotFoundError: No module named ‘netifaces’
目的
在实际开发过程中,由于网络原因,更新ubuntu设备中的软件时常发生下载速度过缓问题。
修改DNS和软件源可有效解决此类问题。
修改DNS
第一步:重新链接配置文件
调整
/etc/resolv.conf
的软链接,使其指向件
/run/systemd/resolve/resolv.conf
rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
第二步
:修改配置文件
修改配置文件
/etc/systemd/resolved.conf
,添加新的
DNS
服务器
IP
[Resolve]
DNS=119.29.29.29 223.5.5.5 223.6.6.6
第三步:使能配置
重启域名解析服务
systemctl restart systemd-resolved
systemctl enable systemd-resolved
第四步:查看新配置
使用 cat /etc/resolv.conf 查看新的/etc/resolv.conf配置
nameserver 119.29.29.29
nameserver 223.5.5.5
nameserver 223.6.6.6
# Too many DNS servers configured, the following entries may be ignored.
nameserver 113.214.230.25
nameserver 113.215.2.222
也可
使用命令
systemd-resolve –status查询
Global
DNS Servers: 119.29.29.29
223.5.5.5
223.6.6.6
...
...
...
修改软件源(以阿里云为例)
#修改配置文件
sudo vi /etc/apt/sources.list
#修改软件源为阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
#更新固件
sudo apt update
sudo apt upgrade
问题分析
ModuleNotFoundError: No module named ‘netifaces’
执行netplan 命令报错:
# netplan apply
Traceback (most recent call last):
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’
解决方法:修改python版本
rm /usr/bin/python3
ln -sf /usr/bin/python3.6 /usr/bin/python3