当前位置: 首页 > news >正文

【已解决】socket.gaierror: [Errno -3] Temporary failure in name resolution

问题描述

        今天在环境迁移的过程中遇到多个问题,包括ModuleNotFoundError: No module named 'flask',socket.gaierror: [Errno -3] Temporary failure in name resolution以及Downloading: "https://huggingface.co/gyrojeff/YuzuMarker.FontDetection/resolve/main/commit%3Dbc0f7fc-epoch%3D26-step%3D261954.ckpt" to /home/visionx/.cache/torch/hub/checkpoints/commit%3Dbc0f7fc-epoch%3D26-step%3D261954.ckpt
Traceback (most recent call last):
  File "/home/visionx/EXT-3/qfy/anaconda3/envs/fontdetect/lib/python3.8/urllib/request.py", line 1317, in do_open,正好在这里详细分析并记录一下。

原因分析及解决办法

        先说第一个问题,缺少flask模块对吧,所以直接安装就可以了

pip install flask

         但由于我的属于离线环境,所以报错了

        那就需要离线安装。

        离线安装需要把flask依赖的库全安上最后才能安装flask,顺序为Werkzeug、MarkupSafe、pytz、Babel、Jinja2、itsdangerous、Click、Flask。也可以随便装,反正装不下去了也会提示先装哪个。把上面的包从PyPI · The Python Package Index官网下载好之后,然后执行解压安装操作即可,注意最好不要下载最新版本的,以免有坑。以flask包为例:

#tar -xzvf Flask-1.1.1.tar.gz#cd Flask-1.1.1/#sudo python3.6 setup.py install

        其他几个包都是一样的操作。

        当然这里也有另外一个办法,就是在主机上把环境在conda pack一遍,然后再传给服务器,这个方法是更省事的,推荐!

conda pack -n fontdetect -o fontdetect.tar.gz

        第二个问题socket.gaierror: [Errno -3] Temporary failure in name resolution,这个是因为localhost.localdomain无法解析造成的,所以处理这个问题不仅要修改host文件还要修改DNS的配置文件。

        首先是修改/etc/hosts,添加如下行解决

vim /etc/hosts    (添加如下行解决)127.0.0.1       localhost.localdomain localhost

         然后修改DNS的配置文件,这个时候只需要添加以下两行即可,因为第一行的nameserver是服务器自带的

vim /etc/resolv.conf'添加了两行(DNS地址是咨询了服务器运营商得知的)'
nameserver   127.0.0.53
(添加下面这两行)
nameserver   61.129.88.123
nameserver 114.114.114.114

         添加完这些之后,问题也就解决了。

        但是新的问题又出现了,也就是第三个问题。

        乍一看好像还是那个问题,但会发现上面已经开始Downloading了,这就有意思了对吧,那这个明显是权重因为不联网的原因没有下载成功啊,那只需要把权重考过去就行了

scp -r /home/visionx/.cache/torch/hub/checkpoints/* 用户名@ip:/home/visionx/.cache/torch/hub/checkpoints

         原谅我比较懒,担心后续会出现其他问题,所以就全部考过来了,当然这是一个非常懒省事但是不合格的工程思想,希望大家不要像我学习。

完结撒花

        其实写到这,我好像恍然大悟一个事情,就是我第一次出现socket.gaierror: [Errno -3] Temporary failure in name resolution的时候也是有Downloading *** 的,也就是说如果我一开始就把权重导过去可能就解决了,这是一个非常扯蛋的事情,抱歉,各位,到这才跟你们说,因为我也是写到上一段的时候我才发现这个问题的,所以看在我辛苦敲字的面儿上放我一马吧。因为直到现在我也不知道是不是一开始就传权重就能把问题解决,但可以保证的是按照上面说的,肯定是可以解决的额。

http://www.lryc.cn/news/189172.html

相关文章:

  • CUDA code=700(cudaErrorIllegalAddress) 报错与排查方法
  • 项目管理过程组
  • python每日一练(5)
  • 经典循环命题:百钱百鸡
  • IDEA使用模板创建webapp时,web.xml文件版本过低的一种解决方法
  • 在Openresty中使用lua语言向请求浏览器返回请求头User-Agent里边的值
  • Hive面试常见基础问题
  • 设计模式 - 观察者模式
  • 【自动驾驶】PETR/PETRv2/StreamPETR论文分析
  • GPT实战系列-Baichuan2本地化部署实战方案
  • 用netty实现简易rpc
  • 【计算机网络】第三章课后习题答案
  • cesium 地图蒙版遮罩效果
  • 根据前序遍历结果构造二叉搜索树
  • 微信小程序指定某个元素强制重新渲染
  • 国际教材概念基础
  • 2023全国大学生软件测试大赛开发者测试练习题满分答案(PairingHeap2023)
  • 介绍一下tokens
  • 机器学习、深度学习相关的项目集合【自行选择即可】
  • 百面机器学习书刊纠错
  • vue2安装cesium并使用
  • 基于Docker来部署Nacos的注册中心
  • 黑马JVM总结(三十一)
  • 【C++】list基本接口+手撕 list(详解迭代器)
  • PowerShell pnpm : 无法加载文件 C:\Users\lenovo\AppData\Roaming\npm\pnpm.ps1
  • mysql面试题33:Blob和text有什么区别
  • docker版jxTMS使用指南:4.6版升级内容
  • java最优建树算法
  • mysql面试题30:什么是数据库连接池、应用程序和数据库建立连接的过程、为什么需要数据库连接池、你知道哪些数据库连接池
  • 【Vue】vscode格式刷插件Prettier以及配置项~~保姆级教程