吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

配置Python開發環境的DeepStream容器

NVIDIA英偉達企業解決方案 ? 來源:NVIDIA英偉達企業解決方案 ? 作者:NVIDIA英偉達企業解 ? 2022-08-12 11:05 ? 次閱讀

對于熟悉 C++ 的開發人員來說,前一篇文章將 DeepStreamSamples 版容器的范例搬到本機上,再搭配 Docker 路徑映射方式就能輕松搭建開發環境。但這種方式只適用于 C / C++ 范例,并不適用于 DeepStream 的 Python 環境,因為還需要安裝 Gstreamer 的 Gst-Python 與 DeepStream 的 PyBinding 與兩個元件。

我們可以在容器內安裝這兩個元件,但是前面提供的 Docker 指令中使用 “--rm” 參數,一旦退出容器之后就會銷毀這個調試好的環境,這對于使用來說是非常不方便的,因此必須做出調整,將調試好的環境保留下來,甚至于存成一個獨立的鏡像文件,就能方便日后的重復使用或移植工作。

1、將容器調整為 “后臺運行” 執行:

在 NGC 官方提供的指令中使用 “--it” “--rm” 是為了能快速啟用容器,并且在使用完畢后刪除容器以避免占用不必要的資源,現在我們來做以下調整:

  • “-it” 參數改成 “-id”參數:這樣雖然不會第一時間進入容器內執行,但是會讓這個容器在后臺運行,并且打印容器 ID,后面在使用 “dockerexec” 指令來進入容器操作,這是個非常實用的方式,大家可以好好學習使用方法;

  • 去除 “--rm” 參數:退出容器之后自動移除;

  • 添加 “--name” 參數:為了便于管理,不需要去面對長達 12 碼的容器編號,我們可以用這個參數去指定容器名稱,方便后面的操作;

  • 為了配合Python的iot應用范例,建議選擇iot版容器的適用性會比較高。

現在試著執行以下指令,創建一個要配置 Python 開發環境的 DeepStream 容器:

docker run -id --name=ds_python --net=host  --runtime=nvidia  -e DISPLAY=$DISPLAY -w  /opt/nvidia/deepstream/deepstream  -v /tmp/.X11-unix/:/tmp/.X11-unix -v  ~/deepstream/sources:/opt/nvidia/deepstream/deepstream/sources -v  ~/deepstream/samples:/opt/nvidia/deepstream/deepstream/samples nvcr.io/nvidia/deepstream-l4t:6.1-iot

執行之后,會發現命令終端并未進入容器里面,依舊在本機(容器外)的狀態,現在執行 “docker ps” 指令,會看到如以下的狀態:

21fb054e-19eb-11ed-ba43-dac502259ad0.png

2216237e-19eb-11ed-ba43-dac502259ad0.png

這里顯示有個名為 “ds_python” 的容器處于運行狀態,但是我們還沒有進入這個容器的操作環境中。

2、使用 docker exec 指令進入容器:

現在以 deepstream-l4t:6.1-iot 創建的 ds_python 容器已經在后臺啟動,我們只要使用 “docker exec” 指令就能進入容器內操作,請執行以下指令:

docker  exec  -it  ds_python  bash

這樣就能進到容器里面。現在試試在容器內做些事情,例如創建一個目錄、添加一個文件,然后執行 “exit” 退出容器,然后再執行前面的指令重新進入容器內,檢查看看剛剛所做的修改應該還存在,這樣就能確保我們為容器安裝的內容可以保留。

3、重啟系統之后的容器啟動:

這種容器創建的方式,在系統重啟之后還能保留前面的設定嗎?重啟一次系統就知道了,然后執行 “docker ps” 指令檢查狀態,發現看不到前面所創建的 ds_python 容器了,怎么辦呢?

不用緊張,現在執行 “docker ps -a” 指令,就會發現這個容器依舊存在于背景資源中,只是沒有啟動而已,現在執行以下指令:

docker  start  ds_pythondockerps

現在再重新執行下面指令,就能進入容器里:

docker  exec  -it  ds_python  bash

再檢查看看前面所做的修改是否依然存在?現在就能確認這種方式能將容器的修改長期保留,是一種更加實在的用法。

4、為容器安裝 Python 開發環境:

現在可以在容器內按照 <https://github.com/NVIDIA-AI-IOT/deepstream_python_apps>“HOW-TO Guide” 安裝步驟,調試 DeepStream 的 Python 開發環境:

  • 安裝依賴庫:

如果 Jetson 的操作系統是 Ubuntu 20.04(JetPack 5.0 以上),請執行以下的依賴庫安裝步驟:

apt install python3-gi python3-dev python3-gst-1.0 python-gi-dev git python-dev python3 python3-pip python3.8-dev cmake g++ build-essential libglib2.0-dev libglib2.0-dev-binlibgstreamer1.0-devlibtoolm4autoconfautomakelibgirepository1.0-devlibcairo2-dev

  • 從 GITHUB 倉下載源碼到指定目錄:

cd sourcesgit clone https://github.com/NVIDIA-AI-IOT/deepstream_python_appscd deepstream_python_appsgitsubmoduleupdate--init

  • 安裝 Gst-Python

apt update apt-get install -y apt-transport-https ca-certificates -yupdate-ca-certificatescd  3rdparty/gst-python/./autogen.shmake&&makeinstall

  • 安裝PyBinding:

請參照如下鏈接:

現在就完成了 Python 環境的配置。

5、測試 Python 范例

要驗證環境是否調試完成的最簡單方法,就是執行一個最基礎的 deepstream-test1 范例,請在容器內執行以下指令:

cd  /opt/nvidia/deepstream/deepstream/cd  sources/deepstream_python_apps/apps/deepstream-test1./deepstream_test_1.py../../../../samples/streams/sample_720p.h26

正常運行會看到如下圖的執行結果。

這樣就表示 DeepStream 容器的 Python 開發環境已經安裝成功。

6、重復使用調試好的容器:

接下來就是要將前面調試好的容器環境存儲起來,以后就不需要每次調試一次環境。這部分分成三個階段:

(1)臨時性保存:

事實上前面使用 “-id” 指令之后,這個容器就會一直保留在背景中執行,即便重啟系統后也是存在的,如同前面所提供的,只要執行以下指令就能重新進入這個容器:

sudo xhost +si:localuser:rootdockerstartds_python&&dockerexec-itds_pythonbash

(2)儲存成 Docker 鏡像:

現在需要在打開一個命令終端,使用 “docker commit <容器名> <鏡像名>” 指令,將目前執行的容器存成一個鏡像,請執行以下指令:

docker  commit  ds_python  deepstream-l4t:6.1-python

現在執行 “docker images” 指令,可以看到多了一個 “deepstream-l4t:6.1-python” 鏡像,如下圖所示:

227771ec-19eb-11ed-ba43-dac502259ad0.png

只要不重裝系統或者刪除這個鏡像,那么這個鏡像就會一直保留在系統里面,以后如果需要再次使用,只要執行以下指令即可:

sudo xhost +si:localuser:rootsudodockerrun-it--rm--net=host--runtimenvidia-eDISPLAY=$DISPLAY-w/opt/nvidia/deepstream/deepstream-v/tmp/.X11-unix/:/tmp/.X11-unix-v~/nvme/deepstream/sources:/opt/nvidia/deepstream/deepstream/sources-v~/nvme/deepstream/samples:/opt/nvidia/deepstream/deepstream/samplesdeepstream-l4t:6.1-python

或者可以同時啟動多個獨立的 Python 環境 DeepStream 容器,如下指令:

sudo xhost +si:localuser:rootsudodockerrun-id--name=ds_python2--net=host--runtimenvidia-eDISPLAY=$DISPLAY-w/opt/nvidia/deepstream/deepstream-v/tmp/.X11-unix/:/tmp/.X11-unix-v~/nvme/deepstream/sources:/opt/nvidia/deepstream/deepstream/sources-v~/nvme/deepstream/samples:/opt/nvidia/deepstream/deepstream/samplesdeepstream-l4t:6.1-python

(3)導出成文件:

最保險的方式,就是將這個 deepstream-l4t:6.1-python 鏡像導出成文件,自行保存好,這樣即便系統重新安裝后,也能直接從這個文件載入鏡像,然后開啟工作容器:

# 將鏡像導出成文件sudo  docker  save  deepstream-l4t:6.1-python  -o  jp50dp_ds61_python# 將文件載入成鏡像sudodockerload-ijp50dp_ds61_python

現在,這個導出的 jp50dp_ds61_python 壓縮文件,也能部署到其他 JetPack5.0 DP 所安裝的 Jetson 設備上使用,不需要在每臺機器上重復調試 Python 開發環境。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5076

    瀏覽量

    103719
  • 容器
    +關注

    關注

    0

    文章

    499

    瀏覽量

    22120
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85037

原文標題:NVIDIA Jetson 系列文章(7):配置DS容器Python開發環境

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    python環境變量的配置pip

    Python環境變量的配置和使用是每個Python開發者都需要了解和掌握的基本技能之一。在本文中,我們將詳細介紹如何正確
    的頭像 發表于 12-15 15:41 ?2515次閱讀

    python開發環境

    誰有python開發環境,32位的軟件開發環境,誰可以提供一下,謝謝!
    發表于 01-09 20:39

    構建Python開發環境的方法

    本系列教程將向大家講述,在自己的計算機上構建完善的嵌入式系統開發環境的方法。本文將向大家講述構建Python開發環境的方法。
    發表于 11-08 08:01

    1.2 Python 開發環境的搭建

    運行后,在下面就會彈出一個 Run 窗口,你在執行 Python 腳本時,所有的輸出內容,都會出現在這里。至此, PyCharm 這個非常好用的集成開發環境配置完成了,后面我們就要正
    發表于 02-16 18:29

    python如何配置虛擬環境

    python 的虛擬環境可以為一個 python 項目提供獨立的解釋環境、依賴包等資源,既能夠很好的隔離不同項目使用不同 python 版本
    發表于 01-07 17:12 ?966次閱讀

    推薦幾種好用的Python集成開發環境

    歡迎。它是一個開源軟件并遵循GPL協議,所以你可以免費的使用它。雖然VIM是最好的文本編輯器,但是它提供的功能不亞于此,經過正確的配置后它可以成為一個全功能的Python開發環境。此外
    發表于 02-15 17:43 ?682次閱讀

    Python語言介紹及開發環境

    Python語言介紹及開發環境說明。
    發表于 04-26 09:51 ?11次下載

    Python版test1實戰說明

    上一篇文章已經帶著大家安裝 DeepStreamPython 開發環境,并且執行最簡單的 deepstream-test1.py,讓大
    的頭像 發表于 10-09 14:28 ?1799次閱讀

    DeepStream Samples版的操作環境調試過程

    NVIDIA 的 DeepStream 是目前業界最好開發而且功能強大的 AI 視頻分析工具,在 NGC 上 https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstrea
    的頭像 發表于 08-03 10:18 ?1529次閱讀

    DeepStream容器執行Python開發操作

    前面一篇文章已經帶著大家將 DeepStream 容器配置 Python 使用環境,本文的重點就是繼續執行實際的
    的頭像 發表于 08-17 10:22 ?1997次閱讀

    容器接入USB攝像頭

    前面教大家使用 DeepStream 的 Docker 鏡像去創建自己的 Python 工作環境,其好處是即使 Jetson 設備需要使用 JetPack 重新安裝系統,我們只要重新啟動這個 Docker
    的頭像 發表于 08-31 09:35 ?1653次閱讀

    如何測試Python環境

    在編程中,測試是一項重要的工作,可以幫助我們驗證代碼的正確性和穩定性。在Python編程環境中,同樣需要進行測試來確保Python的安裝和配置是正確的。在本篇文章中,我們將介紹如何測試
    的頭像 發表于 04-14 12:14 ?5107次閱讀

    如何配置Python環境變量

    配置Python環境變量是在安裝Python解釋器后的一項重要步驟,它允許您在任何位置都可以通過命令行或腳本運行Python解釋器,使
    的頭像 發表于 04-14 12:16 ?2w次閱讀

    pycharm怎么配置python環境變量

    PyCharm 是一種以 Python 為主的集成開發環境 (IDE),它提供了一系列的功能用于開發、調試、測試和部署 Python 程序。
    的頭像 發表于 11-29 14:56 ?3030次閱讀

    python運行環境的安裝和配置

    Python是一種非常流行的編程語言,廣泛應用于科學計算、Web開發、人工智能等領域。為了能夠正常運行Python程序,我們需要先安裝和配置Pyth
    的頭像 發表于 11-29 16:17 ?1245次閱讀
    网上百家乐公| 百家乐官网是骗人的| 百家乐官网博娱乐网| 广州百家乐娱乐场开户注册| 云南省| 做生意门朝山| 永利赌场| 战神百家乐官网的玩法技巧和规则| 永利高a1| 百家乐官网代理打| 永利百家乐游戏| 博盈开户| 百家乐是怎样的| 阳新县| 百家乐足球投注网哪个平台网址测速最好 | 开花财国际| e世博百家乐技巧| 昆明市| 网上百家乐打牌| 百家乐官网打大必赢之法| 巴黎人百家乐的玩法技巧和规则| 优博百家乐官网yobo88| 百家乐号解码器| 百家乐官网珠仔路| 大发888完整客户端| 马德里百家乐官网的玩法技巧和规则 | 老虎机控制器| 永利百家乐官网的玩法技巧和规则| 澳门博彩立博| 百家乐赢钱心得| 帝王百家乐官网新足球平台| 二八杠技巧| 至尊百家乐官网吕文婉| 君豪棋牌信誉怎么样| 百家乐软件辅助| 百家乐官网免費游戏| LV百家乐赢钱LV| 百佬汇百家乐官网的玩法技巧和规则 | 曲松县| 玩百家乐上高尔夫娱乐场| 百家乐官网bp|