从Python3.6升级到3.9时安装deep-rl-grasping遇setup.py错误
解决deep-rl-grasping安装问题的步骤
1. 选合适Python版本,搞定opencv安装
- 放弃Python3.6,新版本opencv-python已不再支持该版本,推荐用Python3.8(兼容性最稳定)。
- 创建并激活conda环境:
conda create -n deep-rl-grasp python=3.8 conda activate deep-rl-grasp - 手动安装适配Python3.8的opencv版本,避免编译失败:
这个版本是预编译好的wheel包,直接就能用,不会触发本地编译报错。pip install opencv-python==4.5.5.62
2. 解决setuptools多顶级包的元数据错误
这个问题是新版setuptools检测规则过严,把项目根目录下的config、models等文件夹误判为多个顶级包,导致元数据生成失败。两种解决办法:
办法一:降级setuptools到旧版本(推荐,最简单)
旧版本setuptools不会检查这个问题,执行命令降级:
pip install setuptools==58.0.4
之后再按原教程执行项目安装命令(比如pip install -e .)即可。
办法二:修改setup.py(适合愿意调整代码结构的情况)
如果不想降级,就修改项目根目录的setup.py,明确指定包结构:
- 找到setup函数里的
packages参数,改成只包含需要的主包,或者排除那些被误判的目录,比如:from setuptools import setup, find_packages setup( # 其他参数保持不变 packages=find_packages(exclude=['config', 'models', 'scripts']), # 如果这些目录里的文件需要被打包,再加这部分配置: package_data={ '': ['config/*.yaml', 'models/*.py'] }, )
3. 安装剩余依赖
上面的问题解决后,直接安装项目的其他依赖:
pip install -r requirements.txt
内容的提问来源于stack exchange,提问作者Kong
相关产品推荐
相关产品推荐

