moviepy报错

问题描述:

moviepy报错

Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x000002525F97F160>
Traceback (most recent call last):
  File "C:\Users\......\pyevn\lib\asyncio\proactor_events.py", line 116, in __del__
    self.close()
  File "C:\Users\......\pyevn\lib\asyncio\proactor_events.py", line 108, in close
    self._loop.call_soon(self._call_connection_lost, None)
  File "C:\Users\......\pyevn\lib\asyncio\base_events.py", line 719, in call_soon
    self._check_closed()
  File "C:\Users\......\pyevn\lib\asyncio\base_events.py", line 508, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed

解决办法

修改moviepy包C:\Users\......\Lib\site-packages\moviepy\video\io\ffmpeg_reader.py文件的def close(self)
在这里插入图片描述


原来的代码

    def close(self):
        if self.proc:
            self.proc.terminate()
            self.proc.stdout.close()
            self.proc.stderr.close()
            self.proc.wait()
            self.proc = None
        if hasattr(self, 'lastread'):
            del self.lastread

    def __del__(self):
        self.close()

修改后

    def close(self):
        if self.proc:
            if self.proc.returncode is None:  # 如果子进程还没有结束
                try:
                    self.proc.terminate()  # 终止子进程
                    self.proc.wait(timeout=0.1)  # 等待子进程结束,超时时间设置为0.1秒
                except OSError:
                    pass  # 忽略可能出现的异常
            self.proc.stdout.close()  # 关闭标准输出文件描述符
            self.proc.stderr.close()  # 关闭标准错误文件描述符
            self.proc = None  # 将进程对象设置为None,表示已经结束
        if hasattr(self, 'lastread'):
            del self.lastread  # 删除lastread属性

    def __del__(self):
        self.close()
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
`pip install moviepy` 报错通常涉及到 Python 包安装过程中遇到的问题,下面是一些常见的错误情况及其解决办法: ### 错误原因及解决步骤: #### 1. 网络连接问题 - **错误信息**:如果网络不稳定或者有防火墙阻止了访问外部源,可能会看到类似于 `Could not fetch URL` 或者 `URL fetch failed` 的错误信息。 - **解决方案**:检查网络连接,并尝试使用代理服务器或直接从官方仓库下载。可以在命令行中添加 `-i https://pypi.tuna.tsinghua.edu.cn/simple` 来指定使用清华大学镜像源试试看。 ```bash pip install -i https://pypi.tuna.tsinghua.edu.cn/simple moviepy ``` #### 2. 版本冲突 - **错误信息**:有时候是因为依赖包版本之间存在兼容性问题导致无法安装。 - **解决方案**:先卸载已经存在的电影工厂库,然后再重新安装。 ```bash pip uninstall moviepy pip install moviepy ``` #### 3. 缺少Python环境 - **错误信息**:如果系统上未安装 Python,则会出现找不到 Python 解释器的错误。 - **解决方案**:首先确认 Python 是否已安装,并找到其路径。可以在命令提示符下输入 `python --version` 和 `pip --version` 查看版本信息。 #### 4. 文件权限问题 - **错误信息**:有时会因为文件或目录的权限问题导致安装失败。 - **解决方案**:通过管理员权限运行安装命令。在 Windows 上可以右键选择“以管理员身份运行”,在 Linux/macOS 中则可以使用 `sudo`。 ```bash sudo pip install moviepy ``` #### 5. 其他依赖库缺失 - **错误信息**:某些特定环境下,电影工厂可能需要其他额外的依赖库才能正常工作。 - **解决方案**:根据报错信息查找缺失的依赖库并安装它们。 ```bash pip install missing-dependency ``` 例如,如果错误提示缺少 numpy 库,那么应该安装 numpy。 ```bash pip install numpy ``` ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值