【python】Ubuntu下安装spyder及matplotlib中文显示

一、查看Ubuntu版本

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy

尝试用cat /etc/debian_version命令,竟然可以显示出来Debian的版本。

$ cat /etc/debian_version 
bookworm/sid

二、安装spyder

习惯性的用了apt install 命令安装,

sudo apt install spyder

安装完成后,spyder运行失败。开始还以为最新的Ubuntu与spyder不兼容,运行不了spyder。后来,看了自己以前写的文章。想起来以前是用pip install安装的。

重新在miniconda下,用pip安装:

pip install spyder

安装pyqt那个包时,等了30多分钟,快要结束时候,下载连接time out了...从头开始重新下...

中止安装,换成国内源,很快就完成了spyder的下载安装。

pip install spyder -i https://mirrors.aliyun.com/pypi/simple/

重启终端后,就可以运行spyder了,但还是会出现跟Debian下类似的错误。

软件和更新中,修改附加驱动为Nvidia的专有驱动。重启系统后,再运行spyder,只剩下一个错误:

fromIccProfile: failed minimal tag size sanity

三、matplotlib中文显示

用代码查看了一下matplotlib支持的字体:

from matplotlib import font_managerfontnamelist = font_manager.get_font_names()
print(fontnamelist)

没有出其他的中文支持:

['Gayathri', 'KacstFarsi', 'Mandali', 'Lohit Tamil', 'Lohit Odia', 'Norasi', 'Khmer OS System', 'Liberation Serif', 'MathJax_Caligraphic', 'Lohit Malayalam', 'Ramabhadra', 'Lohit Devanagari', 'MathJax_Size1', 'Lohit Telugu', 'LakkiReddy', 'padmaa-Bold.1.1', 'Samyak Gujarati', 'Suruma', 'Gubbi', 'Ubuntu Condensed', 'cmex10', 'RaviPrakash', 'Padauk Book', 'TenaliRamakrishna', 'URW Bookman', 'KacstQurn', 'DejaVu Serif', 'URW Gothic', 'KacstTitle', 'Phetsarath OT', 'elusiveicons', 'KacstOne', 'KacstPen', 'Standard Symbols PS', 'MathJax_Script', 'Pagul', 'C059', 'Rekha', 'Mitra ', 'cmsy10', 'Uroob', 'Tibetan Machine Uni', 'MathJax_SansSerif', 'DejaVu Serif Display', 'msam10', 'Ubuntu Mono', 'Lohit Gurmukhi', 'STIXNonUnicode', 'Potti Sreeramulu', 'Padauk', 'Samanata', 'Samyak Malayalam', 'ori1Uni', 'D050000L', 'Jamrul', 'Kinnari', 'Yrsa', 'Liberation Mono', 'Samyak Tamil', 'FreeSerif', 'Sarai', 'Peddana', 'Nimbus Roman', 'Kalimati', 'Likhan', 'KacstDigital', 'FreeSans', 'Nimbus Mono PS', 'wasy10', 'Vemana2000', 'NATS', 'Meera', 'MathJax_WinChrome', 'Navilu', 'Nimbus Sans', 'DejaVu Sans Mono', 'Chilanka', 'Nimbus Sans Narrow', 'KacstNaskh', 'AR PL UKai CN', 'AR PL UMing CN', 'Suravaram', 'cmtt10', 'Lohit Assamese', 'KacstScreen', 'STIXSizeThreeSym', 'Lohit Bengali', 'Ponnala', 'padmaa', 'Samyak Devanagari', 'Khmer OS', 'Kalapi', 'Nakula', 'Gurajada', 'Ramaraja', 'Lohit Tamil Classical', 'Syamala Ramana', 'Noto Sans Mono', 'Dhurjati', 'FontAwesome', 'Noto Serif CJK JP', 'Waree', 'NTR', 'Lohit Kannada', 'KacstPoster', 'STIXSizeTwoSym', 'Tlwg Typewriter', 'Rasa', 'MathJax_Fraktur', 'Droid Sans Fallback', 'Dyuthi', 'Saab', 'STIXGeneral', 'DejaVu Sans Display', 'Suranna', 'MathJax_Vector', 'esint10', 'Abyssinica SIL', 'Sawasdee', 'MathJax_WinIE6', 'cmmi10', 'Keraleeyam', 'Tlwg Typo', 'Sree Krushnadevaraya', 'MathJax_Size3', 'Gargi', 'Mukti', 'Mallanna', 'MathJax_Size2', 'Umpush', 'Z003', 'Ani', 'Laksaman', 'MathJax_Vector-Bold', 'cmr10', 'Chandas', 'Timmana', 'MathJax_Main', 'rsfs10', 'Sahadeva', 'Ubuntu', 'RaghuMalayalamSans', 'Rachana', 'Karumbi', 'Purisa', 'Liberation Sans Narrow', 'MathJax_AMS', 'cmss10', 'KacstTitleL', 'OpenSymbol', 'STIXSizeFiveSym', 'MathJax_Size4', 'MathJax_Math', 'KacstDecorative', 'eufm10', 'Loma', 'mry_KacstQurn', 'Gidugu', 'Tlwg Mono', 'KacstLetter', 'LKLUG', 'Manjari', 'Noto Sans CJK JP', 'Garuda', 'stmary10', 'FreeMono', 'DejaVu Sans', 'STIXSizeOneSym', 'STIXSizeFourSym', 'KacstArt', 'P052', 'MathJax_Typewriter', 'Pothana2000', 'dsrom10', 'AnjaliOldLipi', 'msbm10', 'Tlwg Typist', 'aakar', 'KacstOffice', 'Lohit Gujarati', 'cmb10', 'Noto Mono', 'KacstBook', 'Liberation Sans']

最后还是用了上次的'Noto Sans CJK JP'字体,显示出中文。

import matplotlib.pyplot as plt 
plt.rcParams["font.sans-serif"] = "Noto Sans CJK JP"
fig, ax = plt.subplots(figsize=(16/2,9/2), facecolor="#0c0c0c")
ax.axis("off")
fig.text(0.5,0.5, "测试中文", ha = "center", va="center", size=50, fontweight='extra bold',color="white")
plt.show()

相关链接:

【linux】解决matplotlib中文显示乱码-CSDN博客

【python】Debian安装miniconda、spyder、tushare-CSDN博客

pip国内镜像源-Python安装第三方库(一篇足以、都是干货,内含快捷方法) - 知乎

Matplotlib绘图如何添加任意字体 - 知乎

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

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

相关文章

fastadmin 跳转到输入的指定页面

fastadmin 跳转到输入的指定页面 实现效果&#xff1a; table.on(load-success.bs.table, function (e, tabledata) {var html<li class"jumpto"><input type"text" class"form-control"><button class"btn btn-default&q…

《LIO-SAM阅读笔记》1.IMU预积分模块

前言&#xff1a; LIO-SAM是一个多传感器融合的紧耦合SLAM框架&#xff0c;融合的传感器类型有雷达、IMU和GPS&#xff0c;其中雷达和IMU在LIO-SAM框架中必须使用的。LIO-SAM的优化策略采用了GTSAM库&#xff0c;GTSAM库采用了因子图的优化方法&#xff0c;其提供了一些列C的外…

SpringSecurity安全框架 ——认证与授权

目录 一、简介 1.1 什么是Spring Security 1.2 工作原理 1.3 为什么选择Spring Security 1.4 HttpSecurity 介绍&#x1f31f; 二、用户认证 2.1 导入依赖与配置 2.2 用户对象UserDetails 2.3 业务对象UserDetailsService 2.4 SecurityConfig配置 2.4.1 BCryptPasswo…

第11章 GUI Page436 使用缓冲DC, wxBufferedPaintDC

所谓“缓冲DC”&#xff0c;是指将所有图元都先划到一个人眼看不到的“设备上下文”之上&#xff0c;最后再一次性复制到真正的屏幕DC之上&#xff0c;这样我们就看不到中间画的过程了&#xff0c;也就不会感到闪烁了。 注意&#xff0c;这时不能解除ScrolledWindow1的背景擦除…

Golang实现JAVA虚拟机-运行时数据区

一、运行时数据区概述 JVM学习&#xff1a; JVM-运行时数据区 运行时数据区可以分为两类&#xff1a;一类是多线程共享的&#xff0c;另一类则是线程私有的。 多线程共享的运行时数据区需要在Java虚拟机启动时创建好&#xff0c;在Java虚拟机退出时销毁。对象实例存储在堆区类信…

探索 Vue3 (四) keep-alive缓存组件

keep-alive 的作用 官网介绍&#xff1a;KeepAlive | Vue.js keep-alive为抽象组件&#xff0c;主要用于缓存内部组件数据状态。可以将组件缓存起来并在需要时重新使用&#xff0c;而不是每次重新创建。这可以提高应用的性能和用户体验&#xff0c;特别是在需要频繁切换组件时…

【Linux】僵尸与孤儿 进程等待

目录 一&#xff0c;僵尸进程 1&#xff0c;僵尸进程 2&#xff0c;僵尸进程的危害 二&#xff0c;孤儿进程 1&#xff0c;孤儿进程 三&#xff0c;进程等待 1&#xff0c;进程等待的必要性 2&#xff0c;wait 方法 3&#xff0c;waitpid 方法 4&#xff0c;回收小结…

vue场景 无分页列表条件过滤,子组件多选来自父组件的列表

日常开发中&#xff0c;经常会遇到下面场景&#xff1a; 页面加载一个无分页列表&#xff0c;同时工具栏设置多个条件可对列表过滤的场景(典型的就是关键字模糊查询)父组件传给子组件列表&#xff0c;子组件中需要多选列表多选&#xff0c;选择结果返回父组件 1 无分页列表过…

Tg5032smn:高稳定性105℃高温

TG5032SMN是一款频率范围10MHz ~ 54MHz,具有高稳定的TCXO晶振&#xff0c;可与CMOS或限幅正弦输出。外部尺寸5.0 3.2 1.45mm&#xff0c;超小型,质地轻。该系列晶振的额定工作范围-40℃~&#xfe62;105C内可高稳定性工作&#xff0c;使得信号频率的误差很小。TG5032SMN与其他…

Android Termux安装SSH结合内网穿透实现远程SFTP文件传输

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP&#xff08;SSH File Transfer Protocol&#xff09;是一种基于SSH&#xff08;Secure Shell&#xff09;安全协议的文件传输协议。与FTP协议相比&#xff0c;SFTP使用了…

Linux的安装及管理程序

一、如何在linux安装卸载软件 1. 编译安装 灵活性较高 难度较大 可以安装较新的版本 2. rpm安装&#xff08;redhat&#xff09; linux 包安装 查软件信息&#xff1a;是否安装&#xff0c;文件列表 rpm 软件名 3. yum yum是RPM升级版本&#xff0c;解决rpm的弊端 安装软件 首…

9.独立看门狗IWDG窗口看门狗WWDG编码思路

前言&#xff1a; 看门狗是维护系统稳定性的一向技术&#xff0c;可以让代码跑飞及时复位&#xff0c;在产品中非常常用&#xff0c;俗话说&#xff0c;重启能解决90%的问题&#xff0c;作为产品来说&#xff0c;你总不能因为一次bug就让程序卡死不动了&#xff0c;肯定要试着重…