TensorRT python包与python 3.6不兼容
Posted
技术标签:
【中文标题】TensorRT python包与python 3.6不兼容【英文标题】:TensorRT python package incompatibility with python 3.6 【发布时间】:2018-05-31 09:56:21 【问题描述】:如果您安装了CUDA using the run file,则从其 tar 文件安装 TensorRT 4 是唯一可用的选项。但是,tar 文件仅包含适用于 python 2.7 和 3.5 的 python TensorRT 轮文件。没有提供 python 3.6 轮文件。
我无法在我的 python 3.6 系统上强制安装 python 3.5 wheel 文件:
$ pip install tensorrt-4.0.0.3-cp35-cp35m-linux_x86_64.whl
tensorrt-4.0.0.3-cp35-cp35m-linux_x86_64.whl is not a supported wheel on this platform.
另外,我不能创建一个新的 python 3.5 virtualenv 来使用 TensorRT。
有没有办法通过手动复制文件在我的 python 3.6 平台上手动安装这个包?
【问题讨论】:
【参考方案1】:是的,您可以将此文件重命名为 tensorrt-4.0.0.3-cp36-cp36m-linux_x86_64.whl 并重试。
有效。
【讨论】:
这里注意:由于上述重命名问题,可能会出现导入错误,需要找到错误对应的对应文件,也对应重命名为36。例如:import tensorrt as trt ModuleNotFoundError: No module named 'tensorrt.infer._nv_infer_bindings' 对应 ****/tensorrt/infer/_nv_infer_bindings.cpython-35m-x86_64-linux-gnu.so 重命名为 _nv_infer_bindings.cpython-36m-x86_64-linux- gnu.so 在**/tensorrt上搜索35,全部改为36 ImportError: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory, and I can't find '3.5' in the tensorrt package 我原来使用的版本是tensorrt-4.0.0.3,直接改没有出现这个问题。现在换成 tensorrt-4.0.1.6 确实有这个问题。这种改变不是治愈方法。【参考方案2】:请使用 python 版本 3.5.5。我对python 3.6版有同样的问题。最新版本的 tensorflow 适用于 python 3.5。如果您使用 anaconda,请使用 conda shell 激活较早的 python 版本。您可以将环境设置为使用早期版本的 python。
【讨论】:
以上是关于TensorRT python包与python 3.6不兼容的主要内容,如果未能解决你的问题,请参考以下文章
TensorRT8 meets Python TensorRT快速入门介绍