Q1: 没发现满足需求的版本
ERROR: Could not find a version that satisfies the requirement keras-nightly~=2.5.0.dev (from tensorflow) (from versions: none)
ERROR: No matching distribution found for keras-nightly~=2.5.0.dev
按照官方文档Installation — TensorFlow 2 Object Detection API tutorial documentation安装时总是出现错误。问题出在 keras-nightly. keras-nightly
是 Keras 的每日构建版本(开发版),通常包含未正式发布的实验性代码。TensorFlow 2.5.0 在开发阶段可能依赖此版本,但正式发布后不再需要。当前 PyPI 镜像源(如清华源)可能已移除陈旧的 keras-nightly
开发版,导致安装失败。
solutions:
绕过版本2.5.0,下载清华源中的较新版本。
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple
Attention:如果在实际运行项目时,发现缺失了包,建议到同一个源进行下载,这样无需纠结是否适配问题,是保持一致性(keep consistence)的做法。其他源的包并不合适。
Q2:
很笨的问题,没有进入python环境
import torch失败、import-im6.q16: not authorized ‘torch’@ error/constitute.c/WriteImage/1037. 问题的解决_not authorized `torch-CSDN博客Q3:socket.gaierror: [Errno -2] Name or service not known
关于socket.gaierror: [Errno -2] Name or service not known报错解决-CSDN博客
对于 ROS 单机通信的环境配置,需要确保 ~/.bashrc 文件中写入
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
以及在 /etc/hosts 文件中存在
127.0.0.1 localhost
并不存在多余的其他信息,如
127.0.0.1 ubuntu
否则系统不清楚究竟该使用哪个。我就是这里报错。
Q4: 在自己运行脚本时报错,下面是一大段log。
Traceback (most recent call last):File "/home/ncut/miniconda3/envs/tf/lib/python3.9/tarfile.py", line 191, in ntin = int(s.strip() or "0", 8)
ValueError: invalid literal for int() with base 8: 'ts" cont'During handling of the above exception, another exception occurred:Traceback (most recent call last):File "/home/ncut/miniconda3/envs/tf/lib/python3.9/tarfile.py", line 2617, in nexttarinfo = self.tarinfo.fromtarfile(self)File "/home/ncut/miniconda3/envs/tf/lib/python3.9/tarfile.py", line 1295, in fromtarfileobj = cls.frombuf(buf, tarfile.encoding, tarfile.errors)File "/home/ncut/miniconda3/envs/tf/lib/python3.9/tarfile.py", line 1237, in frombufchksum = nti(buf[148:156])File "/home/ncut/miniconda3/envs/tf/lib/python3.9/tarfile.py", line 193, in ntiraise InvalidHeaderError("invalid header")
tarfile.InvalidHeaderError: invalid headerDuring handling of the above exception, another exception occurred:Traceback (most recent call last):File "/home/ncut/miniconda3/envs/tf/lib/python3.9/site-packages/tensorflow_hub/resolver.py", line 192, in download_and_uncompressfile_utils.extract_tarfile_to_destination(File "/home/ncut/miniconda3/envs/tf/lib/python3.9/site-packages/tensorflow_hub/file_utils.py", line 47, in extract_tarfile_to_destinationwith tarfile.open(mode="r|*", fileobj=fileobj) as tgz:File "/home/ncut/miniconda3/envs/tf/lib/python3.9/tarfile.py", line 1851, in opent = cls(name, filemode, stream, **kwargs)File "/home/ncut/miniconda3/envs/tf/lib/python3.9/tarfile.py", line 1732, in __init__self.firstmember = self.next()File "/home/ncut/miniconda3/envs/tf/lib/python3.9/tarfile.py", line 2629, in nextraise ReadError(str(e))
tarfile.ReadError: invalid headerDuring handling of the above exception, another exception occurred:Traceback (most recent call last):File "/home/ncut/code_garden/face_demo1.py", line 7, in <module>model = hub.load("https://tfhub.dev/tensorflow/blazeface/1")File "/home/ncut/miniconda3/envs/tf/lib/python3.9/site-packages/tensorflow_hub/module_v2.py", line 100, in loadmodule_path = resolve(handle)File "/home/ncut/miniconda3/envs/tf/lib/python3.9/site-packages/tensorflow_hub/module_v2.py", line 55, in resolvereturn registry.resolver(handle)File "/home/ncut/miniconda3/envs/tf/lib/python3.9/site-packages/tensorflow_hub/registry.py", line 49, in __call__return impl(*args, **kwargs)File "/home/ncut/miniconda3/envs/tf/lib/python3.9/site-packages/tensorflow_hub/compressed_module_resolver.py", line 81, in __call__return resolver.atomic_download(handle, download, module_dir,File "/home/ncut/miniconda3/envs/tf/lib/python3.9/site-packages/tensorflow_hub/resolver.py", line 421, in atomic_downloaddownload_fn(handle, tmp_dir)File "/home/ncut/miniconda3/envs/tf/lib/python3.9/site-packages/tensorflow_hub/compressed_module_resolver.py", line 78, in downloadreturn resolver.DownloadManager(handle).download_and_uncompress(File "/home/ncut/miniconda3/envs/tf/lib/python3.9/site-packages/tensorflow_hub/resolver.py", line 200, in download_and_uncompressraise IOError("%s does not appear to be a valid module." % self._url)
OSError: https://tfhub.dev/tensorflow/blazeface/1 does not appear to be a valid module.
前几次碰见,慌张得很,认为是 我 pip -install 出现了问题。实则不然。这段代码的真正问题在
import cv2
import tensorflow as tf
import tensorflow_hub as hub
import numpy as npmodel = hub.load("https://tfhub.dev/tensorflow/blazeface/1")
它的原因是下载的包文件损坏,无法通过该方式进行下载。有两种情况,
-
网络不稳定导致下载的包(通常是
.tar.gz
或.whl
)不完整或损坏。 - 服务器上的包文件本身存在问题(罕见但可能)。
此处是该路径根本无法正确解析。
我在碰到这个报错时,很大的误区是担心 pip 下载的包有问题,实际上问题并不在那里,在 hub.load()提供的字符串不正确。这种结论可以通过试验不同的python脚本得出。