Deepstream6.1.0 配置python的环境

DS 配置python的环境

所有前提要先确认Deepstream大环境已经安装完成。

1 下载deepstream_python_apps源码并拷贝

​ 在NVIDIA DS GUIDE TEXT的官网(Python Sample Apps and Bindings Source Details — DeepStream 6.1.1 Release documentation (nvidia.com))找到Python Sample Apps and Bindings Source Details目录,打开连接NVIDIA-AI-IOT/deepstream_python_apps: DeepStream SDK Python bindings and sample applications (github.com)下载对应的deepstream_python_apps的源码。并将源码拷贝在DS目录下,我的是拷贝在了在/opt/nvidia/deepstream/deepstream-6.1/sources/路径下。需要注意的是下载的源码版本需与Deepstream SDK一致,此时拥有路径/opt/nvidia/deepstream/deepstream-6.1/sources/deepstream_python_apps/

或 按照如下命令依次执行(注意下载deepstream_python_apps的版本要一致)

cd /opt/nvidia/deepstream/deepstream/sources
export GIT_SSL_NO_VERIFY=true 
git clone https://gitee.com/qst1998/deepstream_python_apps.git(此处需注意版本一致性)
2 下载3rdparty涉及的gst-python和pybind11的源码

​ 上述可参考如下命令

# 如下命令依次执行是没有问题的
cd deepstream_python_apps/3rdparty
rm -rf *
git clone https://gitee.com/qst1998/gst-python.git
cd gst-python
git checkout 1a8f48a
git clone https://gitee.com/qst1998/pybind11.git
cd ../pybind11
git checkout 3b1dbeb
3 安装gst-python

输入如下四行命令:

cd ../gst-python
./autogen.sh
make
make install

但是在./autogen.sh的时候 提示No package ‘pygobject-3.0’ found,导致configure failed。查资料,说是需要

sudo apt install python-gi-dev

但是运行sudo apt install python-gi-dev命令,又报【E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。】,所以根据提示,输入

sudo apt --fix-broken install

sudo apt --fix-broken install后,提示了一堆Error和Failed。。。也不知道什么原因。

后面又运行一遍sudo apt-get install python-gi-dev又没有报错了。

sudo apt-get install python-gi-dev
# 运行上面代码,提示如下
准备解压 .../python-gi-dev_3.36.0-1_amd64.deb  ...
正在解压 python-gi-dev (3.36.0-1) ...
正在设置 python-gi-dev (3.36.0-1) ...
# 然后应该就没有问题了

上述python-gi-dev安好后,继续

cd gst-python
git checkout 5343aeb
./autogen.sh PYTHON=python3

问题:运行【./autogen.sh PYTHON=python3】又报【error: Python libs not found. Windows requires Python modules to be explicitly linked to libpython. configure failed】针对问题,应该是需要更新Python库为3.8版本。我原来在root目录先输入python命令回车之后打印的版本是3.7.1。此版本(3.7.1是我安装的conda的base下的python版本),貌似conda base下的python版本会覆盖usr/bin/python,所以要通过命令 vim ~/.bashrc ,然后i,再把conda环境变量#注释掉,执行下列代码

# 如下供参考
# 查看软连接: /usr/bin/python是否指向所安装的python
ll /usr/bin/ -il | grep python
# 若未指向
rm -f /usr/bin/python
ln -s /usr/bin/python3.8 /usr/bin/python

然后执行

cd ./gst-python
sudo ./autogen.sh

就不会报错了详情截图如下:

在这里插入图片描述
按照上图最后的提示,接下来可以make了。

make

又报错【error: ‘/home/mec/anaconda3/lib/libgobject-2.0.la’ is not a valid libtool archive】

​ !!!可能还是python版本的问题,实在受不了了,重新无脑安装python3.8,参考链接:(26条消息) ubuntu20.4安装python3.8_sir.K的博客-CSDN博客_ubuntu python3.8 中的1-5.详情如下

# 安装python3.8, 并将软连接python与pip指向python3.8
1  将 deadsnakes PPA 添加到你的系统源列表中
sudo apt update
sudo apt install software-properties-common
2  将 deadsnakes PPA 添加到你的系统源列表中
sudo add-apt-repository ppa:deadsnakes/ppa
# 当被提示时,输入回车按键,继续
# Press [ENTER] to continue or Ctrl-c to cancel adding it.
3  一旦软件源仓库被启用,安装 Python 3.8
sudo apt install python3.8
4  验证安装过程是否成功
python3.8 --version
5  创建python软连接
# 查看软连接: /usr/bin/python是否指向所安装的python
ll /usr/bin/ -il | grep python
# 若未指向
rm -f /usr/bin/python
ln -s /usr/bin/python3.8 /usr/bin/python

【不知道是不是make 的时候又报错了 】

【后面再sudo make 的时候没有报错】

而后又继续代码 即

cd ../gst-python
sudo ./autogen.sh
sudo make
sudo make install
4 编译安装python-binding
cd /deepstream/sources/deepstream_python_apps/bindings
mkdir build
cd build
cmake ..  -DPYTHON_MAJOR_VERSION=3 -DPYTHON_MINOR_VERSION=8
make
# 根据自己的版本install对应的pyds版本(我的时1.1.3版本)
pip3 install ./pyds-1.1.3*.whl   

上述一路执行的时候会非常顺利。

5 运行示例python程序
cd apps/deepstream-test1
python3 deepstream_test_1.py <input .h264 file>

其中,<input .h264 file>可以选择 …/…/…/…/samples/streams/sample_720p.h264,即

python3 deepstream_test_1.py ../../../../samples/streams/sample_720p.h264

​ 运行时,提示【ModuleNotFoundError: No module named ‘gi’】,可能安装gi, 但是pip3 install gi的时候一直不成功。结果原因是自己的环境在root目录下,所以需要sudo -s,然后再运行 示例程序。

​ 注意python3 deepstream_test_1.py …/…/…/…/samples/streams/sample_720p.h264运行时需要在本地运行,远程SSH运行会卡在Start pipeline之后提示Unsupported … …导致无法继续运行。

程序。

​ 注意python3 deepstream_test_1.py …/…/…/…/samples/streams/sample_720p.h264运行时需要在本地运行,远程SSH运行会卡在Start pipeline之后提示Unsupported … …导致无法继续运行。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃油淋鸡的莫何

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值