解决Ubuntu无法安装pycairo和PyGObject

环境:虚拟机Ubuntu20.04,vscode无法安装pycairo和PyGObject

虚拟机Ubuntu20.04,vscode中运行Anaconda搭建的vens 的Python3.8.10
首先在vscode中点击ctrl+shift+p,选择Python3.8.10的环境,自动激活Python

最近在搞无人机精准降落,网上下载的一段代码,总是报错,搞了三四天终于把环境搭好了
其中一段代码(如下)总是报错 ,原因就是没有wheel,然后pycairo和PyGObject安装不上去

import gi
gi.require_version("Gst", "1.0")
from gi.repository import Gst

报错先是:
ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
然后接着:
ERROR: Could not build wheels for PyGObject which use PEP 517 and cannot be installed directly

然后参考

  1. ERROR: Could not build wheels for PyGObject which use PEP 517 and cannot be installed directly #45
  2. ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects

安装pycairo

新建Ubuntu终端,输入:

sudo apt-get install sox ffmpeg libcairo2 libcairo2-dev
sudo apt-get install texlive-full

完成以后,基本可以安装pycairo==1.21.0
在vscode的Python终端输入:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pycairo==1.21.0

如果不行的话,先输入:

pip3 install manimlib  # or pip install manimlib
pip3 install manimce  # or pip install manimce

然后再次输入

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pycairo==1.21.0

安装PyGObject

新建Ubuntu终端输入:

sudo apt install libgirepository1.0-dev

然后在vscode输入

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyGObject==3.42.2

如下图:
在这里插入图片描述
在这里插入图片描述

笔者采用这种办法解决长久折磨我的问题,然后import gi 和Gst都不报错了,如果还是不成功,可以点进我参考的GitHub网址:https://github.com/gfduszynski/cm-rgb/issues/45
找寻其他人成功的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/76092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode474. 一和零

474. 一和零 文章目录 [474. 一和零](https://leetcode.cn/problems/ones-and-zeroes/)一、题目二、题解方法一:01背包方法二:01背包三维数组 一、题目 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度&…

第 362 场 LeetCode 周赛题解

A 与车相交的点 数据范围小直接暴力枚举 class Solution { public:int numberOfPoints(vector <vector<int>> &nums) {unordered_set<int> vis;for (auto &p: nums)for (int i p[0]; i < p[1]; i)vis.insert(i);return vis.size();} };B 判断能否…

DC/DC开关电源学习笔记(六)开关电源电路集成及封装工艺

(六)开关电源电路集成及封装工艺 1.集成工艺2.模块化3.新方向开关电源电路集成及封装工艺涉及到将电源电路的各个组成部分集成在一个芯片中,并对芯片进行封装的工艺过程。 1.集成工艺 在集成电路设计中,通常会将开关电源的主要功能模块如开关管、变压器、滤波电容、电感等…

普中 51 单片机点亮LED灯

普中 51 单片机 &#xff08;STC89C52RC&#xff09; LED / IO 将LED1进行闪烁操作 为啥要进行延时操作&#xff1f;依据人的肉眼余晖效应&#xff0c; 延时时间不能太短&#xff0c;否则就无法观察到 LED 闪烁 #include "reg52.h" typedef unsigned int u16; //对…

React中父子组件参数传递讲解

文章目录 结合案例&#xff1a;github搜索案例1.父容器代码2.搜索Search子模块代码3.展示Lisi子模块代码 父子参数传递分析1.子(Search)传父(App)2.父(App)传子(List) 结合案例&#xff1a;github搜索案例 案例结果展示如下图 1.父容器代码 import React, { Component } fr…

自己封装的reduce、map、foreach、filter、bind等方法

自己封装一些方法 reduce 方法map 方法forEach方法filter方法的封装bind方法的封装 reduce 方法 在这个自定义的 reduce 方法中&#xff0c;我们遵循了原生 reduce 方法的工作原理。我们接受三个参数&#xff1a;数组 arr&#xff0c;回调函数 callback 和初始值 initialValue…

【GO语言基础】前言

系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 文章目录 系列文章目录一、基础知识包和函数函数声明语法简洁性 括号成对出现GO常用DOS命令命名规则项目目录结构注释 总结 一、基础知识 包和函数 //声明本代…

Python中使用item()方法遍历字典的例子

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 这篇文章主要介绍了Python中使用item()方法遍历字典的例子, for…in这种是Python中最常用的遍历字典的方法了,需要的朋友可以参考下 Python字典的遍历方法有好几种&#xff0c;其中一种是for…in&#xff0c;这个我就…

记录docker 部署nessus

1、开启容器 docker run -itd --nameramisec_nessus -p 8834:8834 ramisec/nessus 2、登录 &#xff1a;注意是https https://ip8843 3、修改admin密码 #进入容器 docker exec -it ramisec_nessus /bin/bash#列出用户名 /opt/nessus/sbin/nessuscli lsuser#修改密码&a…

Swift使用编解码库Codable

Codable 是 Swift 引入的全新的编解码库&#xff0c;使开发者更方便的解析JSON 或 plist 文件。支持枚举、结构体和类。 Codable协议定义 Codable代表一个同时符合 Decodable 和 Encodable 协议的类型&#xff0c;即可解码且可编码的类型。 typealias Codable Decodable &a…

python模块之 aiomysql 异步mysql

mysql安装教程 mysql语法大全 python 模块pymysql模块&#xff0c;连接mysql数据库 一、介绍 aiomysql 是一个基于 asyncio 的异步 MySQL 客户端库&#xff0c;用于在 Python 中与 MySQL 数据库进行交互。它提供了异步的数据库连接和查询操作&#xff0c;适用于异步编程环境 …

计算机网络(一):基础篇

文章目录 1. TCP/IP网络模型有哪几层并做简要介绍&#xff1f;2. 键入网址到网页显示&#xff0c;期间发生了什么&#xff1f;3. 介绍一下域名解析的工作流程&#xff1f;4. MAC发送方和接收方如何确认&#xff1f;5. 路由器和交换机的区别&#xff1f;6. Linux系统是如何收发网…

sqlserver union和union all 的区别

1.首先在数据库编辑1-40数字&#xff1b; 2.查询Num<30的数据&#xff0c;查询Num>20 and Num<40的数据&#xff0c;使用union all合并&#xff1b; 发现30-20的数字重复了&#xff0c;可见union all 不去重&#xff1b; 3.查询Num<30的数据&#xff0c;查询Num…

表的内连接和外连接

表的连接是SQL中的一种操作&#xff0c;用于将两个或多个表中的数据按照某个条件进行关联。 内连接 使用内连接将两个表(Table1 和 Table2)进行连接&#xff1a; select * from Table1 inner join Table2 on Table1.id Table2.id;举例&#xff1a; -- 用普通的写法 select…

idea右边找不到maven窗口(Idea_最右侧常用栏中没有Maven选项)

方案一&#xff1a; 首先idea自带了maven控件&#xff0c;不像Eclipse还需要下载控件&#xff0c;如果你以前有maven在右边&#xff0c;出于某种原因&#xff0c;消失找不到 了&#xff0c;你可以试试我写的方法。 方法1.你点击一下你idea界面最左下角的那个小框&#xff0c…

Promise 解决 Vue 中父子组件的加载问题!

前言 关于Promie我这里就不多解释了&#xff0c;不懂得可以看看官方文档。下面文章重点介绍项目中遇到的问题解决方法。 需求 组件b初始化某个用到的库&#xff0c;只有在初始化完成后才能调用其API&#xff0c;不然会报错。a页面负责调用。 // a.vue <template><d…

动态表单设计

动态表单设计 背景方案讨论基于上面分析&#xff0c;对比调研&#xff0c;自定义动态表单数据模型表单详解&#xff08;一&#xff09; 表单模板&#xff1a;jim_dynamic_form&#xff08;二&#xff09;表单数据类型&#xff1a;jim_form_data_type&#xff08;三&#xff09;…

element ui el-table分页多选功能

selection-change&#xff1a;当选择项发生变化时会触发该事件&#xff08;当分页切换时&#xff0c;选中的数据都会自动清空&#xff09; 一、在el-table中添加 :row-key“id” <el-table :data"tableData" border style"width: 95%" selection-change…

【Linux】编辑器 vim

1、vim的基本概念 vi/vim【一款文本编辑器】vim【一款多模式编辑器】vi/vim 的区别简单点来说&#xff0c;它们都是多模式编辑器&#xff0c;不同的是 vim 是 vi 的升级版本&#xff0c;它不仅兼容vi的所有指令&#xff0c;而且还有一些新的特性在里面。例如语法加亮&#xff0…

redis-win10安装和解决清缓存报错“Error: Protocol error, got “H“ as reply type byte”

win10安装 https://github.com/microsoftarchive/redis/releases 下载最新的zip&#xff0c;解压&#xff0c;把路径加到Path里&#xff0c;每次直接在cmd里 redis-server.exeError: Protocol error, got “H” as reply type byte 这个报错是因为我端口写错了。。无语 D:…