安装 opendr 踩坑记

复现早期的优化算法需要用到opendr,踩坑一天记录!!!

测试是否成功安装的命令

python 复制代码
>>> import opendr
>>> opendr.demo("texture")

失败案例

python 3.8.15

numpy=1.23.0

mayavi=4.8.1

chumpy=0.70

cpython=3.0.0

报错一

安装opendr命令1:安装的版本是0.78

python 复制代码
pip install opendr

截止目前我还找不到答案!

python 复制代码
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/xucg/anaconda3/envs/barc/lib/python3.8/site-packages/opendr/__init__.py", line 350, in demo
    exec('global np\n' + demos[which], globals(), locals())
  File "<string>", line 5, in <module>
  File "/home/xucg/anaconda3/envs/barc/lib/python3.8/site-packages/opendr/renderer.py", line 25, in <module>
    from .contexts.ctx_mesa import OsContext
  File "opendr/contexts/ctx_base.pyx", line 18, in init opendr.contexts.ctx_mesa
ModuleNotFoundError: No module named '_constants'

报错二

安装opendr命令2
参考链接中的手动安装,安装的是opendr版本是0.77

python 复制代码
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/xucg/opendr/opendr/__init__.py", line 350, in demo
    exec('global np\n' + demos[which], globals(), locals())
  File "<string>", line 5, in <module>
  File "/home/xucg/opendr/opendr/renderer.py", line 25, in <module>
    from .contexts.ctx_mesa import OsContext
ModuleNotFoundError: No module named 'opendr.contexts.ctx_mesa'

报错三

安装opendr命令3

python 复制代码
pip install git+https://gitlab.eecs.umich.edu/ngv-python-modules/opendr.git

报错依旧

python 复制代码
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/xucg/opendr/opendr/__init__.py", line 350, in demo
    exec('global np\n' + demos[which], globals(), locals())
  File "<string>", line 5, in <module>
  File "/home/xucg/opendr/opendr/renderer.py", line 25, in <module>
    from .contexts.ctx_mesa import OsContext
ModuleNotFoundError: No module named 'opendr.contexts.ctx_mesa'

成功案例

我这个环境是重新建的

torch=1.9.0+cu111

python3.6.13

numpy=1.19.5

chumpy=0.70

cython=0.29.32

mayavi=4.8.0

安装opendr命令:安装的版本是0.78,无报错,但是有些细节需要修改

python 复制代码
pip install opendr

在opendr安装的虚拟环境里面进行修改

  1. ~/lib/python3.8/site-packages/opendr/common. 在467 行加入(int(verts_by_face.shape0/f.shape1).
  2. ~/lib/python3.8/site-packages/opendr/renderer.py 找到有dImage_wrt_2dVerts 函数的地方加入 int(self.v.r.size/3).
  3. ~/lib/python3.8/site-packages/opendr/camera.py 在 102 行加r入int(self.v.r.size*2/3).

正确的输出

python 复制代码
http://files.is.tue.mpg.de/mloper/opendr/images/nasa_earth.mtl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/xucg/anaconda3/envs/smalr/lib/python3.6/site-packages/opendr/__init__.py", line 350, in demo
    exec('global np\n' + demos[which], globals(), locals())
  File "<string>", line 10, in <module>
  File "/home/xucg/anaconda3/envs/smalr/lib/python3.6/site-packages/opendr/util_tests.py", line 22, in get_earthmesh
    wg('http://files.is.tue.mpg.de/mloper/opendr/images/nasa_earth.mtl')
  File "/home/xucg/anaconda3/envs/smalr/lib/python3.6/site-packages/opendr/util_tests.py", line 20, in wg
    wget(url, dest)
  File "/home/xucg/anaconda3/envs/smalr/lib/python3.6/site-packages/opendr/utils.py", line 37, in wget
    open(dest_fname, 'w').write(contents)
TypeError: write() argument must be str, not bytes
>>>
相关推荐
2601_967987374 分钟前
Sqlite参考手册
数据库·python·sqlite·api·教程
笑容掩饰我的失落15 分钟前
区块链从小白到精通(七):Solidity 语法精讲——数据类型、函数、修饰器与事件
算法·区块链·php·智能合约·哈希算法
用户0190275816141 分钟前
A 股到价提醒机器人:AlphaFeed + 飞书/钉钉 Webhook
python
特立独行的猫A1 小时前
Ionic + 仓颉语言的 cj-tauri 开发框架实战:开发精美移动端 APP
java·后端·python
Pniubi1 小时前
力扣24. 两两交换链表中的节点(递归)
算法·leetcode·链表
高洁011 小时前
数据同化与动态状态估计:让孪生持续贴合现实
人工智能·python·深度学习·transformer·迁移学习
通信仿真爱好者2 小时前
第【139】期--基于深度学习的OFDM信道估计方法研究--python完整代码
python·深度学习·ofdm·信道估计
꧁细听勿语情꧂2 小时前
直接选择排序,堆排序,冒泡排序,递归快速排序、hoare版本、挖坑法、lomuto前后指针,非递归快速排序
c语言·开发语言·数据结构·算法
威哥爱编程2 小时前
模拟面试智能体开发实战 07:答完一题就点评一题,结构化输出给分建议,让每道题都变成复盘
python·agent·harmonyos
cpolar技术支持2 小时前
中文文件名排序跟拼音对不上:os.listdir 返回的是文件系统顺序,三个中文名按字节排结果正好相反
python·文件系统·cpolar·编码·排序