[Python]如何在Ubuntu中建置python venv虛擬環境,並安裝TensorFlow和OpenCV函式庫?

為了在樹莓派上實現物件影像辨識功能,同時不影響樹莓派原來的python運行環境,選擇建置python虛擬環境[Note1]是一個好方式,其可避免版本衝突和不同運行環境的問題。另外,一併在該虛擬環境中安裝TensorFlow[Note2]和OpenCV[Note3]等等函式庫,並確認版本是否符合需求。

建置python虛擬環境

建置python虛擬環境有venv, virtualenv, conda等方式,其中venv最為簡單易用,也符合此影像辨識的項目需求,建置步驟如下:
1.安裝python venv虛擬環境庫

bash 复制代码
sudo apt install python3-venv

2.建立名稱為tensorflow_env資料夾

bash 复制代码
python3 -m venv tensorflow_env

3.啟動tensorflow_env的python venv虛擬環境

bash 复制代码
source tensorflow_env/bin/activate

在tensorflow_env中安裝TensorFlow和OpenCV

完成tensorflow_env虛擬環境後,接續在tensorflow_env虛擬環境中,安裝TensorFlow和OpenCV兩個函式庫,如下:

bash 复制代码
pip install tensorflow
pip install opencv-contrib-python

確認tensorflow_env中TensorFlow和OpenCV的版本

為了確認安裝在tensorflow_env虛擬環境中的TensorFlow和OpenCV的版本,可先簡易撰寫一個test.py檔案,test.py程式碼如下:

python 复制代码
import tensorflow as tf # 匯入TensorFlow函式庫 
import cv2 # 匯入OpenCV函式庫 
print(tf) print(tf.__version__) 
print(cv2) print(cv2.__version__)

在終端機執行過程和結果如下:

bash 复制代码
python /your_path/test.py

<module 'tensorflow' from '/home/xxx/lib/python3.10/site-packages/tensorflow/init.py'> 2.16.1 <module 'cv2' from '/home/xxx/python3.10/site-packages/cv2/init.py'> 4.9.0

離開tensorflow_env虛擬環境

bash 复制代码
deactivate

Note:

1.之所以稱之為虛擬環境,即是與原作業系統中的python進行隔離,因此在虛擬環境中所需要的庫都需要重新安裝,避免與原系統中的python安裝庫的版本有所衝突,特別符合測試需求的環境。

2.TensorFlow 是由Google開發的一個開源的機器學習和深度學習框架,其具有高度靈活性和擴展性,可讓開發者建立和訓練神經網路模型。

3.OpenCV是一個開源的電腦視覺和機器學習軟體庫,其可以用於影像處理、視訊捕捉和分析等領域,並容易與許多程式語言搭配使用,如python和matlab等。

4.在物件影像辨識中,OpenCV一般用於影像的讀取和輸出等等處理需求,而TensorFlow則是用於加載模型格式和推論作業。

相关推荐
在坚持一下我可没意见5 分钟前
Python 修仙修炼录 05:循环神通,省去无用苦修
开发语言·python·面试·入门·循环·复习
Hua-Jay17 分钟前
OpenCV联合C++/Qt 学习笔记(二十)----Harri角点检测、Shi-Tomas角点检测及亚像素级别角点位置优化
c++·笔记·qt·opencv·学习·计算机视觉
大飞记Python25 分钟前
从“驱动地狱”到一行代码:WebDriverManager使用手记(附模板)
python·测试
Cloud_Shy61832 分钟前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第九章 Excel 自动化 上篇)
python·数据分析·excel·numpy·pandas
H Journey37 分钟前
Linux查看进程命令
linux·运维·进程
子午38 分钟前
基于YOLO的玫瑰叶片检测系统~Python+深度学习+人工智能+目标检测+YOLOV8算法
人工智能·python·yolo
风曦Kisaki39 分钟前
# Linux运维Day01:Nginx基础
linux·运维·nginx
Hua-Jay40 分钟前
OpenCV联合C++/Qt 学习笔记(十九)----图像分割
c++·笔记·qt·opencv·学习
kyle~42 分钟前
调试器---GDB(Linux/Unix平台下编译型语言,C++、Go、Rust)
linux·c++·unix
头发够用的程序员43 分钟前
WSL2 Ubuntu 24.04 离线安装 Docker 全流程
linux·ubuntu·docker