当前位置: 首页 > news >正文

【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绘图如何添加任意字体 - 知乎

相关文章:

  • 分布式锁常见问题及其解决方案
  • Elasticsearch基本使用
  • hive中array相关函数总结
  • 验证码服务使用指南
  • 算法基础之最长公共子序列
  • 基于Python的新能源汽车销量分析与预测系统
  • 前端学习笔记
  • 平衡二叉树的构建(递归
  • 【WPF.NET开发】数据绑定应用场景
  • 如何开发专属花店展示平台小程序?
  • uni-app 工程目录结构介绍
  • paddle 56 将图像分类模型嵌入到目标检测中并实现端到端的部署(用图像分类模型进行目标检测切片分类)
  • Ubuntu20.04纯命令配置PCL(点云库)
  • 《剑指offer》Java版--13.机器人的运动范围(BFS)
  • leetcode 38. 外观数列(medium)(优质解法)
  • JavaScript-如何实现克隆(clone)函数
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Babel配置的不完全指南
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • emacs初体验
  • ES2017异步函数现已正式可用
  • happypack两次报错的问题
  • MD5加密原理解析及OC版原理实现
  • node入门
  • react 代码优化(一) ——事件处理
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 数据库巡检项
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • #Linux(make工具和makefile文件以及makefile语法)
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (超详细)语音信号处理之特征提取
  • (第61天)多租户架构(CDB/PDB)
  • (动态规划)5. 最长回文子串 java解决
  • (转)详解PHP处理密码的几种方式
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .htaccess配置重写url引擎
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .net core控制台应用程序初识
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [.NET]桃源网络硬盘 v7.4
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [android] 手机卫士黑名单功能(ListView优化)
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [BT]BUUCTF刷题第4天(3.22)
  • [C]编译和预处理详解
  • [C语言]——函数递归