Linux manim安装

news2024/9/24 9:17:33

简介

根据文档可知, manim目前分为两个版本, 一个是由3Blue1Brown维护更新的最新版本的manimgl, 另一个是稳定的社区版本manim or manimce. 两个版本在安装和使用上都有些不同, 不要搞混.

Linux manim ERROR

No package ‘pangocairo’ found

Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [31 lines of output]
      Package pangocairo was not found in the pkg-config search path.
      Perhaps you should add the directory containing `pangocairo.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'pangocairo' found

看报错信息, 是pangocairo的问题, 手动下载编译安装
从官网下载pango-1.51.0.
解压后进入文件夹内
在这里插入图片描述
可知是使用mesonninjia构建的.
首先下载

pip3 install meson ninja

构建的一般过程如下:

# 通过--prefix指定install路径, 不然默认装到系统路径(无权限) 
  meson setup $builddir --prefix=${path to install}
  ninja -C $builddir
  ninja -C $builddir install

可在文件夹下新建一个build作为$builddir, install位置可以就设为pango-1.51.0文件夹.
按步骤安装完毕后, 在.bashrc中写入pangocairo.pc所在的位置
先查找

$ find ./ -name "pangocairo.pc"
./lib/x86_64-linux-gnu/pkgconfig/pangocairo.pc
./build/meson-private/pangocairo.pc

所以在.bashrc中写入

# pkg-config path
export PKG_CONFIG_PATH="/path/to/pango-1.51.2/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH"

source ~/.bashrc再次进行pip install manim即可.

Original error: libpangocairo-1.0.so.0: cannot open shared object file: No such file or directory

类似地, 在.bashrc加入环境变量

# 修改为对应的pango路径
export LD_LIBRARY_PATH="/pango/path/pango-1.51.2/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH"

ImportError: /lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined symbol: ffi_type_uint32, version LIBFFI_BASE_7.0

根据comment, 设置环境变量

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7

Unknown encoder ‘libx264’

卸载重装ffmpeg即可

FileNotFoundError: [Errno 2] No such file or directory: ‘xdg-open’

视频已经成功生成, 应该是在服务器终端无法自动打开的意思.
-p参数表示Previewed, 去掉该参数即可. 并且在本应用中使用后端投放到web UI上, 无需预览功能.
下面是无root用户尝试解决/安装xdg-open的记录.


这个comment说更新sededu, 下载之后好像不起作用.
参考这个, 尝试手动安装xdg-utils.
下载xdg-utils-v1.2.1

./configure --prefix=/path/to/install
make && make install -j8

/usr/bin/xmlto: not found/home/stlinpeiyang/lpy22/software/xmlto-0.0.28

安装xmlto

尝试从这里尝试安装xmlto

./configure --prefix=/path/to/install
make && make install -j8

没问题, 填入环境变量再次尝试安装xdg
失败 暂时no way

直接安装deb包

从这里下载xdg-utils_1.1.3
使用

# 应该要使用绝对路径才有效
dpkg -x xdg-utils_1.1.3-2ubuntu1_all.deb /path/to/install

然后就会在路径下生成usr/bin等文件夹和文件

(py_LLM) user@ubuntu:~/lpy22/software$ ls .local/usr/bin/
browse            xdg-desktop-menu  xdg-icon-resource  xdg-open         xdg-settings
xdg-desktop-icon  xdg-email         xdg-mime           xdg-screensaver

然后加入环境变量再激活即可.

export PATH=$PATH:/path/to/.local/usr/bin/

安装cairo

下载文件cairo-1.18.0

 error: unknown type name ‘pixman_dither_t’; did you mean ‘pixman_filter_t’?
  954 |     pixman_dither_t pixman_dither = _cairo_dither_to_pixman_dither (source->dither);
      |     ^~~~~~~~~~~~~~~
      |     pixman_filter_t
../src/cairo-image-surface.c:954:37: error: implicit declaration of function ‘_cairo_dither_to_pixman_dither’ [-Werror=implicit-function-declaration]
  954 |     pixman_dither_t pixman_dither = _cairo_dither_to_pixman_dither (source->dither);
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/cairo-image-surface.c:955:5: error: implicit declaration of function ‘pixman_image_set_dither’; did you mean ‘pixman_image_set_filter’? [-Werror=implicit-function-declaration]
  955 |     pixman_image_set_dither (surface->pixman_image, pixman_dither);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
      |     pixman_image_set_filter
cc1: some warnings being treated as errors
[171/722] Compiling C object src/libcairo.so.2.11800.0.p/cairo-pdf-surface.c.o
ninja: build stopped: subcommand failed.

一般系统都自带cairo 遂放弃.


manimgl ERROR

screeninfo.common.ScreenInfoError: No enumerators available

manimgl好像是需要一个窗口来进行交互或预览, 所以在Linux服务器跑不了.
文档
在这里插入图片描述
在服务器尝试manimgl报错如下:

python3.10/site-packages/screeninfo/screeninfo.py", line 32, in get_monitors
    raise ScreenInfoError("No enumerators available")
screeninfo.common.ScreenInfoError: No enumerators available

目前还没解决
关于Pyglet Window

FileNotFoundError: [Errno 2] No such file or directory: ‘C:\Users\PLA\AppData\Local\Temp\Tex\42c962cc458aefe6.log’

在Windows下若不是安装在C盘, 则会显示找不到tex log文件. 解决方法如下:
default_config.yml文件中

# Manim often generates tex_files or other kinds of serialized data
  # to keep from having to generate the same thing too many times.  By
  # default, these will be stored at tempfile.gettempdir(), e.g. this might
  # return whatever is at to the TMPDIR environment variable.  If you want to
  # specify them elsewhere,
  temporary_storage: "E:\\projects\\manim\\media"

manim文件夹下新建media文件夹添加为temporary_storage即可.

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

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

相关文章

Spring-IoC-属性注入的注解实现

1、创建对象的注解 Component 用于声明Bean对象的注解,在类上添加该注解后,表示将该类创建对象的权限交给Spring容器。可以直接将这些类直接创建,使用的时候可以直接用。 注解的value属性用于指定bean的id值,value可以省略&…

电源噪声的起因及危害

对造成电源不稳定的根源进行简单分析如下,主要在于两个方面:一是器件高速开关状态下,瞬态的交变电流过大;二是电流回路上存在的电感。从表现形式上来看又可以分为三类:同步开关噪声(SSN),有时被称为Δi噪声,地弹(Ground bounce)现象也可归于此类(图1-a);非理想电…

HTTP状态 405 - 方法不允许

方法有问题。 用Post发的请求&#xff0c;然后用Put接收的。 大家也可以看看是不是有这种问题 <body><h1>HTTP状态 405 - 方法不允许</h1><hr class"line" /><p><b>类型</b> 状态报告</p><p><b>消息…

windwos权限维持

1.php 不死马权限维持 <?php ignore_user_abort(); //关掉浏览器&#xff0c;PHP脚本也可以继续执行. set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去 $interval 5; // 每隔*秒运行 do { $filename test.php; if(file_exists($filename)) { echo…

Spring Integration 是什么?

Spring Integration 是什么&#xff1f; Spring Integration 在 Spring 家族不太有名气&#xff0c;如果不是有需求&#xff0c;一般也不会仔细去看。那么 Spring Integration 是什么呢&#xff1f;用官方的一句话来解释就是&#xff1a;它是一种轻量级消息传递模块&#xff0…

快速上手Spring Cloud 十四:璀璨物联网之路

快速上手Spring Cloud 一&#xff1a;Spring Cloud 简介 快速上手Spring Cloud 二&#xff1a;核心组件解析 快速上手Spring Cloud 三&#xff1a;API网关深入探索与实战应用 快速上手Spring Cloud 四&#xff1a;微服务治理与安全 快速上手Spring Cloud 五&#xff1a;Spring …

虚幻引擎资源加密方案解析

前段时间&#xff0c;全球游戏开发者大会(Game Developers Conference&#xff0c;简称GDC)在旧金山圆满落幕&#xff0c;会议提供了多份值得参考的数据报告。根据 GDC 调研数据&#xff0c;当下游戏市场中&#xff0c;Unreal Engine (下文简称虚幻)和 Unity 是使用最多的游戏引…

神奇的css radial-gradient

使用css radial-gradient属性&#xff0c;创造一个中间凹陷进去的形状。如下图 background: radial-gradient(circle at 50% -0.06rem, transparent 0.1rem, white 0) top left 100% no-repeat;

VLAN实验记录---对抗遗忘

sw1的接口6应该调成混杂模式&#xff0c;因为pc2,4,5,6的pvid各不相同而网段相同&#xff0c;所以往上去路由时应该剥离标记&#xff08;VLAN里面是标记而不是标签&#xff09;出去&#xff0c;这样 路由器上的物理接口用来管理不带标记的流量&#xff0c;而vlan2流量的往上打上…

Vue2(十一):脚手架配置代理、github案例、插槽

一、脚手架配置代理 1.回顾常用的ajax发送方式&#xff1a; &#xff08;1&#xff09;xhr 比较麻烦&#xff0c;不常用 &#xff08;2&#xff09;jQuery 核心是封装dom操作&#xff0c;所以也不常用 &#xff08;3&#xff09;axios 优势&#xff1a;体积小、是promis…

springboot检测脚本

import requests import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) session requests.session()# 从文本文件中读取 with open(dic.txt, r) as file:paths file.readlines()# 移除每个末尾的换行符 paths [path.strip() for path in pa…

【概率论与数理统计】Chapter2 随机变量及其分布

随机变量与分布函数 随机变量 随机变量&#xff1a;一个随机变量是对随机现象可能的结果的一种数学抽象 分布函数 分布函数&#xff1a; X为随机变量&#xff0c; F ( x ) F(x) F(x)定义为&#xff1a; F ( x ) P ( X ≤ x ) F(x) P(X \leq x) F(x)P(X≤x) 定义域&#…

项目四-图书管理系统

1.创建项目 流程与之前的项目一致&#xff0c;不再进行赘述。 2.需求定义 需求: 1. 登录: ⽤⼾输⼊账号,密码完成登录功能 2. 列表展⽰: 展⽰图书 3.前端界面测试 无法启动&#xff01;&#xff01;&#xff01;--->记得加入mysql相关操作记得在yml进行配置 配置后启动…

vue2高德地图选点

<template><el-dialog :title"!dataForm.id ? 新建 : isDetail ? 详情 : 编辑" :close-on-click-modal"false" :visible.sync"show" class"rv-dialog rv-dialog_center" lock-scroll width"74%" :before-close&q…

2024最新华为OD机试试题库全 -【二叉树计算】- C卷

1. 🌈题目详情 1.1 ⚠️题目 给出一个二叉树如下图所示: 请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。 左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。 1.2 �…

电平输入检测-定时器输入捕获

目录 一&#xff0c;引入 二&#xff0c;具体结构 三&#xff0c;实现步骤 四&#xff0c;PWM输入模式 一&#xff0c;引入 上篇博客&#xff0c;我们对于定时器的计数核心——时基单元作了细致的了解。这篇博文&#xff0c;我们来介绍定时器的四大功能模块之一——输入捕获…

无忧微服务:如何实现大流量下新版本的发布自由

作者&#xff1a;项良、十眠 微服务上云门槛降低&#xff0c;用好微服务才是关键 据调研数据显示&#xff0c;约 70% 的生产故障是由变更引起的。在阿里云上的企业应用如茶百道、极氪汽车和来电等&#xff0c;他们是如何解决变更引起的稳定性风险&#xff0c;实现了在白天高流…

如祺出行冲刺上市:三年被罚款270万元,销售费用远高于研发开支

3月26日&#xff0c;Chenqi Technology Limited&#xff08;如祺出行&#xff09;再次递交招股书&#xff0c;准备在港交所主板上市&#xff0c;中金公司、华泰国际、农银国际为其联席保荐人。据贝多财经了解&#xff0c;如祺出行曾于2023年8月递表。 相较于此前招股书&#xf…

稀碎从零算法笔记Day32-LeetCode:每日温度

算是引出“单调栈”这种数据结构&#xff0c;后面会用这个思想处理下接雨水问题 前言&#xff1a;单调栈模式匹配——题目中提到“求第一个最大/最小的元素” 题型&#xff1a;栈、单调栈、数组 链接&#xff1a;739. 每日温度 - 力扣&#xff08;LeetCode&#xff09; 来源…

企业数据资源入表全攻略:五步法助你轻松驾驭数据新时代

随着数字化浪潮的汹涌而至&#xff0c;企业数据资源已成为推动业务发展的核心动力。然而&#xff0c;如何将这些无形的数据资产转化为有形的企业价值&#xff0c;却是众多企业面临的难题。近日&#xff0c;有关部门发布的“企业数据资源‘五步法’入表路径解析暂行规定”&#…