Linux学习笔记(5)连不上网 No WiFi adapter found centos 7

问题描述:

今天中午午睡起来突然发现虚拟机的连接断开了,之前本地网络配置一直都是手动获取,其他的什么都没有改过去看了下网络连接,无线连接没有,网络适配器也没了(如图所示)

 

Xshell连接不上,vim打开ens33配置:onboot="yes"是开启状态的

终端执行:ip addr命令  ens33没有ip地址

网络上试了一些解决办法:

执行安装网络适配器: sudo yum install NetworkManager-wifi

安装完毕后重启网络服务:service network restart

到这一步如果还没解决

执行      systemctl stop NetworkManager.service
             service network restart

到了这一步在终端输入 ip addr 发现可以获取到ens33地址了,使用xshell连接成功!

返回虚拟机窗口界面,网络适配器依旧显示没有,但奇怪的是可以连接上了

这种方法好像5min不到Xshell显示服务连接失败

 本机的解决方法:

在虚拟机中重新设置虚拟网络,选择桥接模式,即可

终端测试可以获取到ens33地址,同时系统里的wifi连接也显示了,xshell连接成功!

 


 

### Python 中 `pywifi` 模块引发的 `AttributeError` 错误分析 当尝试使用 `pywifi` 模块时遇到 `AttributeError: module 'pywifi' has no attribute 'PyWiFi'` 的错误,这通常表明当前环境中加载的模块可能并非预期的 `pywifi` 库,或者该库未被正确安装。 #### 可能的原因 1. **模块名称冲突** 如果存在其他同名文件或包(例如名为 `pywifi.py` 的本地脚本),可能会覆盖实际的 `pywifi` 模块,从而导致无法访问其属性[^3]。 2. **版本兼容性问题** 安装的 `pywifi` 版本可能存在一致的情况。某些旧版或开发分支可能导致 API 更改,进而引发此类错误。 3. **导入路径错误** 正确的方式应通过 `import pywifi` 而是直接调用存在的子模块或类。如果代码中写成类似 `from pywifi import PyWiFi` 这样的语句,则会触发上述异常。 #### 解决方案 以下是几种可行的方法来解决问题: 1. **确认环境配置无误** 验证是否存在命名冲突。检查工作目录下是否有与目标库重叠的名字(比如自定义脚本命名为 `pywifi.py`) 并删除/重命名它们之后重新启动解释器再试一次操作。 2. **升级至最新稳定发行版** 使用 pip 工具更新到最新的官方发布版本可以修复潜在 bug 和改进功能支持情况: ```bash pip install --upgrade pywifi ``` 3. **调整源码逻辑适配现有接口定义** 根据文档说明正确引用所需组件, 下面展示了一个简单的例子用于扫描附近 WiFi 网络列表: ```python import pywifi wifi = pywifi.PyWiFi() iface = wifi.interfaces()[0] iface.scan() results = iface.scan_results() for result in results: print(result.ssid) ``` 上述片段展示了如何实例化对象并获取无线网卡接口信息以及执行基本扫描任务[^1]. 4. **验证依赖项是否齐全** 有时还需要额外安装操作系统层面的支持工具链才能让硬件驱动程序正常运作起来,在 Linux 或 macOS 平台上尤其如此;而对于 Windows 用户来说则相对简单得多因为大多数情况下已经内置好了必要的服务框架结构. #### 总结 通过对以上几个方面的排查处理应该能够有效缓解乃至彻底消除因 `AttributeError` 导致的功能障碍现象发生几率。同时提醒开发者们平时要注意保持良好的编程习惯譬如合理规划项目布局避免必要的干扰因素介入其中影响最终效果呈现质量。 ```python # 示例代码:检测可用Wi-Fi网络 import pywifi def list_available_networks(): wifi = pywifi.PyWiFi() # 创建一个 PyWiFi 对象 interface = wifi.interfaces()[0] # 获取第一个无线网卡 if not interface: raise RuntimeError("No Wi-Fi adapter found.") interface.scan() # 执行扫描动作 networks = interface.scan_results() # 收集结果数据 return [network.ssid for network in networks] if __name__ == "__main__": try: ssids = list_available_networks() print(f"Available Networks:\n{ssids}") except Exception as e: print(e) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值