如何解决:ImportError: 无法从utils导入'dlldeps'
解决方法
核心问题
你安装的utils==1.0.1是第三方公共包,但脚本里导入的dlldeps、gstprefix、vs属于原项目自带的本地utils模块,不是pip能安装的第三方包。pipreqs误将本地模块识别成了第三方包,导致你装错了依赖。
具体修复步骤
- 卸载错误的第三方utils包
在终端执行命令:pip uninstall -y utils - 获取原项目配套的utils文件
从你提到的gst-uwp-example仓库中,找到utils相关的文件(包括dlldeps.py、gstprefix.py、vs.py或者整个utils目录),将它们复制到你的脚本所在目录:c:\UP\mrayGStreamerUnity-master\Plugin\VS\下,确保和update-vcxproj-assets.py处于同一层级。 - 保留正确的依赖
脚本确实需要pefile,保留已安装的pefile==2023.2.7即可,无需额外操作。 - 重新运行脚本
再次执行update-vcxproj-assets.py,此时Python会优先加载同目录下的本地utils模块,不会再调用第三方包。
补充说明
pipreqs工具会扫描代码中的import语句,当遇到没有明确第三方包标识的模块名时,可能会误匹配到同名的公共包。这类项目专属的本地模块,需要从原项目仓库同步获取,而非通过pip安装。
内容的提问来源于stack exchange,提问作者Gray Fox
相关产品推荐
相关产品推荐

