m0_48882340 2022-11-29 17:21 采纳率: 100%
浏览 36
已结题

ModuleNotFoundError

问题遇到的现象和发生背景

在github上clone了fsgan的代码,按照提示创建conda虚拟环境并且配置环境变量。
fsgan的仓库被clone在了D:\Desktop,所以环境变量我设置为D:\Desktop
我先是运行swap.py,按照提示,运行以下command:(一点没动,不用修改的示例)


python fsgan/inference/swap.py docs/examples/shinzo_abe.mp4 -t docs/examples/conan_obrien.mp4 -o . --finetune --finetune_save --seg_remove_mouth

结果缺抛出这样的错误:ModuleNotFoundError: No module named 'fsgan.preprocess'

img


之后,我又运行了reenact.py,运行如下command:

python fsgan\inference\reenact.py D:\Desktop\000012.jpg -t D:\Desktop\fsgan\docs\examples\conan_obrien.mp4 -o D:\Desktop

然而,还是同样的错误,ModuleNotFoundError: No module named 'fsgan.preprocess'

img

我的解答思路和尝试过的方法

fsgan.preprocess 是存在的。因为,我在reenact.py 和swap.py 的同一目录下创建了一个mytest.py的测试文件,将出错的导入复制进去,并且在导入的模块的同一路径下创建了 myimport.py文件。直接run,mytest.py是可以运行的,并打印出来模块所在的路径。

img


但是,如果使用命令行来运行,mytest.py会报出同样的错误。

img

我想要达到的结果

可以正常运行swap.py和reenact.py

  • 写回答

7条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-11-29 21:29
    关注

    我来告诉你,这个迷一样的问题,你这目录下面有两个fsgan,一个根目录,一个下级目录,这种导入方式很容易出问题,因为这种大型项目的导包就是一个迷,别人的原作者电脑上肯定是能跑通的,你拿下来不一定就能跑通
    就将下级目录的fsgan添加到sys.path试试,即在一个文件from fsgan...这行导包语句前加上

    import os,sys
    sys.path.append(os.path.dirname(os.getcwd()))
    

    以我的经验来看,如果这两行代码都解决不了,你做好最糟糕的打算吧,估计不行了…

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(6条)

报告相同问题?

问题事件

  • 提问应符合社区要求 4月24日
  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 创建了问题 11月29日

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址