【问题标题】:How to remove Import Error occured after installation of tensorflow?如何删除安装 tensorflow 后出现的导入错误?
【发布时间】:2021-08-17 02:21:42
【问题描述】:

我正在做一个虚拟机上的交通信号自动化项目。它需要使用图像检测过程来检测汽车。 代码:

import cv2
import matplotlib.pyplot as plt
import cvlib as cv
from cvlib.object_detection import draw_bbox
im = cv2.imread('cars_4.jpeg')
bbox, label, conf = cv.detect_common_objects(im)
output_image = draw_bbox(im, bbox, label, conf)
plt.imshow(output_image)
plt.show()
print('Number of cars in the image is '+ str(label.count('car')))

操作系统:带有树莓派桌面的 Debian Buster https://www.raspberrypi.org/software/raspberry-pi-desktop/

内核版本:4.19

Python 版本:3.7.3

点子版本:

WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 21.1.1 from /home/pi/.local/lib/python3.7/site-packages/pip (python 3.7)

使用的库:

-打开简历

  • cvlib

  • matplotlib.

安装 cvlib 后需要我安装张量流,安装张量流后执行时出现此错误:

错误:

(venv) pi@raspberry:~/Desktop/TSA $ python3 main.py 
Traceback (most recent call last):
  File "main.py", line 3, in <module>
    import cvlib as cv
  File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/cvlib/_init_.py", line 8, in <module>
    from .gender_detection import detect_gender
  File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/cvlib/gender_detection.py", line 3, in <module>
    from tensorflow.keras.utils import get_file
  File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/_init_.py", line 23, in <module>
    from tensorflow.python import *
  File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/python/_init_.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "/home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
  File "/usr/lib/python3.7/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.7/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: /home/pi/Desktop/TSA/venv/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow.so: cannot open shared object file: No such file or directory

尝试添加 “导出 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/” 在 .bashrc 文件中,仍然是同样的错误。

【问题讨论】:

  • 在黑暗中拍摄,但也许尝试以与安装它相同的方式卸载 tensorflow,然后运行 ​​python3 -m pip install tensorflow 还值得注意的是,您的 pip 警告消息提到了 python 3.7,我看到您正在运行您的代码与python3。当需要为 python 3.7 安装某些库时,是否有可能为 python 2.7.16 安装它们?
  • 如果你正在使用树莓派,请具体说明你是如何安装 tensorflow 的,安装到哪个版本,树莓派板的详细信息,操作系统的详细信息,Python 版本,因为你说的是​​ Python 版本: 2.7.16 但在您的帖子中显然是 3.7 (/home/pi/.local/lib/python3.7/site-packages/pip (python 3.7))。
  • 我已经编辑了我的帖子,它是 python 的 3.7 版本。我已经提到我实际上是在 Raspberry pi 上工作,而不是实际的 Raspberry pi 设备,并且我还为我正在使用的桌面操作系统提供了链接。使用给定命令重新安装 tensorflow,仍然出现相同的错误。

标签: python tensorflow pip raspberry-pi importerror


【解决方案1】:

根据错误,您的 cvlib 安装似乎有问题。

我猜你可以再试一次:

pip install opencv-python tensorflow

pip install cvlib

看看这是否会产生一些错误消息,这些消息可能会告诉你可能出了什么问题。

正如@swarles-barkley 的评论中提到的,也许您的环境实际上需要上述内容:

python3 -m pip install opencv-python tensorflow

python3 -m pip install cvlib

编辑(评论后): 同样,您的环境设置肯定有些奇怪。您可以尝试卸载然后重新安装 tensorflow 和 cvlib,同时仔细查看编译过程中出现的任何警告。 这个discussion 可能会给你一些关于如何调试问题的想法。

【讨论】:

  • 我已经使用了这些命令,但它仍然给我同样的错误。 @draganstankovic
  • 我已经使用了新环境并安装了所有东西,但它仍然显示错误。从讨论中,我在我的项目中找不到“venv/lib/python3.7.3/site-packages/tensorflow_core/python/_pywrap_tensorflow_internal.so”目录,我的目录列表:dpaste.org/tfQa
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-18
  • 2016-02-27
相关资源
最近更新 更多