Linux下的Python开发环境

以下是在Ubuntu 22.04上安装XFCE桌面、配置中文环境、中文输入法、远程桌面;安装anaconda、PyCharm、谷歌浏览器等的步骤:

首先,正常安装完毕 Ubuntu 22.04 Linux。如果选择某些云平台的ECS服务器,可以用十几秒钟完成Ubuntu 22.04 Linux映像的快速安装,非常方便。


一、 安装XFCE桌面环境

sudo apt update
sudo apt install xfce4 xfce4-goodies -y

 二、配置中文环境

1. 安装中文语言包

sudo apt install language-pack-zh-hans language-pack-gnome-zh-hans -y

2. 配置系统区域设置

sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8

3. 设置默认语言(可选)

# 运行以下命令后,选择 "zh_CN.UTF-8"
sudo dpkg-reconfigure locales

4. 安装中文字体(可选)

sudo apt install fonts-noto-cjk -y

5. 重启系统以应用更改

reboot

三、 安装中文输入法

1. 安装输入法框架 Fcitx

sudo apt install fcitx fcitx-googlepinyin fcitx-frontend-gtk3 fcitx-ui-classic -y

2. 配置环境变量

采用如下方式编辑用户配置文件 ~/.xprofile

echo "export GTK_IM_MODULE=fcitx" >> ~/.xprofile
echo "export QT_IM_MODULE=fcitx" >> ~/.xprofile
echo "export XMODIFIERS=@im=fcitx" >> ~/.xprofile

3.  配置输入法

重启系统或重新登录,然后在XFCE面板添加输入法:

  1. 点击顶部面板的输入法图标,选择 Configure

  2. 点击 + 添加 Google Pinyin,移除其他不需要的输入法。


四、配置远程桌面访问(XRDP)

1. 安装XRDP服务:

sudo apt install xrdp -y
sudo systemctl enable xrdp --now

2. 修改XRDP启动脚本

以瑞啊方式编辑 /etc/xrdp/startwm.sh,在文件末尾 fi 前插入

# 替换原有 exec 或 start 命令
echo "startxfce4" >> /etc/xrdp/startwm.sh

3. 安装图形驱动支持

sudo apt install xorgxrdp -y

 4. 开放防火墙端口

sudo ufw allow 3389/tcp
sudo ufw reload

5. 重启XRDP服务

sudo systemctl restart xrdp

五、远程桌面连接

使用Windows远程桌面连接或Remmina:

  • 地址:服务器IP:3389

  • 用户名/密码:Ubuntu系统的账户凭证。


六、创建非root用户

长期直接使用root用户进行远程桌面连接是系统不提倡的,有很大的安全隐患和后遗症。

1. 创建用户并设置密码

sudo adduser devuser  # 替换 "devuser" 为你的用户名

根据提示设置密码及用户信息(其他信息可直接回车跳过)。

2. 将用户添加到 sudo 组

这步操作的目的是使新建用户可以被允许执行管理员命令

sudo usermod -aG sudo devuser

3. 验证用户权限

su - devuser  # 切换到新用户
sudo whoami   # 输入密码后应返回 "root"

4. 配置用户远程桌面访问

确保用户可登录图形界面:

默认情况下,新用户已具备图形登录权限。
可通过以下命令检查用户权限(无输出表示正常):

sudo grep "devuser" /etc/passwd | grep "/bin/bash"

5. 使用XRDP远程登录

  • 远程连接时使用用户名 devuser 及设置的密码。


七、安装Anaconda

1. 下载并安装

切换用户:

su - devuser

下载最新Anaconda安装脚本(替换链接为官网最新版本):

wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

运行安装脚本:

bash Anaconda3-2024.02-1-Linux-x86_64.sh
  • 按提示操作,安装路径建议选默认(/home/devuser/anaconda3)。

  • 最后选择 yes 初始化conda。

  • 如果你在这里没有选择yes,那么可以通过以下名来恢复:

eval "$(/home/devuser/anaconda3/bin/conda shell.bash hook)"

激活conda环境:

source ~/.bashrc  # 或重新打开终端
conda list        # 验证安装

2. 添加conda更新源

Conda 的配置信息通常存储在用户主目录下的 .condarc 文件中。你可以使用文本编辑器(如 nanovim 等)打开该文件查看更新源配置,示例命令如下(以 nano 为例):

nano ~/.condarc

 以清华源为例:

channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

显示并测试更新源:

conda config --show channels
conda clean -i  # 清除索引缓存
conda install requests

3. 设置pip更新源

 的配置文件通常位于用户主目录下的 .pip/pip.conf 文件中,你可以使用文本编辑器(如 nanovim)打开该文件查看更新源设置,以 nano 为例,执行以下命令:

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/[install]
trusted-host = mirrors.aliyun.com

注:如果缺少目录或文件,自己创建。

查看设置的更新源:

pip config list

八、安装PyCharm

1. 下载PyCharm社区版

wget https://download.jetbrains.com/python/pycharm-community-2024.1.2.tar.gz

注意:具体更新的版本可以自己查

2. 解压

解压并安装到 /opt 目录(需sudo权限):

sudo tar -xzf pycharm-community-2024.1.2.tar.gz -C /opt/
sudo chown -R devuser:devuser /opt/pycharm-community-2024.1.2  # 确保用户有权限

 3. 创建桌面快捷方式

mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/pycharm.desktop <<EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm
Exec=/opt/pycharm-community-2024.1.2/bin/pycharm.sh
Icon=/opt/pycharm-community-2024.1.2/bin/pycharm.png
Categories=Development;IDE;
Terminal=false
EOF

4. 启动PyCharm

/opt/pycharm-community-2024.1.2/bin/pycharm.sh

九、安装谷歌浏览器(Chrome浏览器)

在国内,由于网络限制,我们无法直接安装谷歌浏览器。但用如下的方法,也能成功安装。

1. 下载

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

2. 手动安装

sudo apt install ./google-chrome-stable_current_amd64.deb -y

注意:如果发生依赖性错误,可用下面的命令来解决

sudo apt --fix-broken install

 如果还是无法正常安装,也可以用如下方法:

sudo dpkg -i /home/devuser/google-chrome-stable_current_amd64.deb

如果在上条语句执行时出现依赖性错误,可执行下面语句修复:

sudo apt-get install -f

一般情况下,Chrome浏览器会被安装在 /opt/google/chrome/ 目录下,可执行文件名为 google-chrome-stable。


十、轻量级图像编辑器Pinta

1. 安装

sudo apt install pinta

特点

  • 界面简洁,支持图层、基本滤镜、画笔、选区工具。

  • 支持中文界面(自动适配系统语言)。

  • 启动速度快,适合快速裁剪、调整尺寸、简单调色。

2. 启动

可执行文件路径:

  • 主程序/usr/bin/pinta

  • 桌面快捷方式/usr/share/applications/pinta.desktop

图形菜单启动

  1. 远程桌面登录后,点击左上角 所有应用程序 菜单。

  2. 导航至 图像 ➔ Pinta


至此,Ubuntu 22.04 Linux的开发环境已经按照要求架设完毕。

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

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

相关文章

key-value---键值对

定义 键值对由两部分组成&#xff0c;一个是 “键”&#xff08;key&#xff09;&#xff0c;另一个是 “值”&#xff08;value&#xff09;。“键” 是用于标识和访问 “值” 的唯一标识符&#xff0c;就像是一把钥匙&#xff0c;而 “值” 则是与该键相关联的数据或信息&…

【实战项目】BP神经网络识别人脸朝向----MATLAB实现

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

Javascript中null、NaN、undefined区别(JS空值、Javascript空值)(?.链操作符)

文章目录 概述null的本质undefined的两面性系统层面的undefined开发者层面的undefined NaN的特殊性数值运算的异常标识NaN的独特比较行为 深入比较类型比较相等性比较 实践建议变量初始化错误检测属性检查&#xff08;链操作符&#xff09; 性能考虑 概述 JavaScript中的null、…

Java 运行时常量池笔记(详细版

&#x1f4da; Java 运行时常量池笔记&#xff08;详细版&#xff09; Java 的运行时常量池&#xff08;Runtime Constant Pool&#xff09;是 JVM 方法区的一部分&#xff0c;用于存储编译期生成的字面量和符号引用。它是 Java 类文件常量池的运行时表示&#xff0c;具有动态…

STM32 HAL库USART串口中断编程:演示数据丢失

目录 一、开发环境 二、配置STM32CubeMX 三、代码实现与部署 四、运行结果&#xff1a; ​五、注意事项 上面讨论过,HAL_UART_Receive最容易丢数据了,可以考虑用中断来实现,但是HAL_UART_Receive_IT还不能直接用,容易数据丢失,实际工作中不会这样用,本文介绍STM32F103 HAL库函数…

Javascript网页设计案例:通过PDF.js实现一款PDF阅读器,包括预览、页面旋转、页面切换、放大缩小、黑夜模式等功能

前言 目前功能包括&#xff1a; 切换到首页。切换到尾页。上一页。下一页。添加标签。标签管理页面旋转页面随意拖动双击后还原位置 其实按照自己的预期来说&#xff0c;有很多功能还没有开发完&#xff0c;配色也没有全都搞完&#xff0c;先发出来吧&#xff0c;后期有需要…

缺陷检测之图片标注工具--labme

一、labelme简介 Labelme是开源的图像标注工具&#xff0c;常用做检测&#xff0c;分割和分类任务的图像标注。 它的功能很多&#xff0c;包括&#xff1a; 对图像进行多边形&#xff0c;矩形&#xff0c;圆形&#xff0c;多段线&#xff0c;线段&#xff0c;点形式的标注&a…

Kafka集群,常见MQ面试问题

Kafka 名词介绍 Topic: 消息队列&#xff0c;生产者和消费者面向的都是一个TopicBroker: 一个Kafka服务器就是一个Broker&#xff0c;一个集群由多个Broker组成。一个Broker可以容纳多个TopicProducer: 消息生产者&#xff0c;向Kafka Broker发生消息的客户端Consumer: 消息消…

Unity DeepSeek API 聊天接入教程(0基础教学)

Unity DeepSeek API 聊天接入教程(0基础教学) 1.DeepSeek 介绍 DeepSeek是杭州深度求索人工智能基础技术研究有限公司推出的一款大语言模型。2025年1月20日&#xff0c;DeepSeek-R1正式上线&#xff0c;和当前市面上的主流AI相比&#xff0c;它在仅有极少标注数据的情况下&am…

DeepSeek-R1 蒸馏 Qwen 和 Llama 架构 企业级RAG知识库

“DeepSeek-R1的输出&#xff0c;蒸馏了6个小模型”意思是利用DeepSeek-R1这个大模型的输出结果&#xff0c;通过知识蒸馏技术训练出6个参数规模较小的模型&#xff0c;以下是具体解释&#xff1a; - **知识蒸馏技术原理**&#xff1a;知识蒸馏是一种模型压缩技术&#xff0c;核…

el-input无法输入0.0001的小数,自动转换为0在vue3中的bug

今天遇到个bug&#xff0c;el-input中只能输入0.1或者输入0.1再加上00成为0.001&#xff0c;不能直接输入0.001&#xff0c;否则自动转换为0。需要去掉 v-model.number后面的 .number 源代码&#xff1a; <el-table-column label"实发数量" width"120"…

Spring事务原理 一

Spring事务管理有 声明式事务 和 编程式事务 两种方式&#xff0c;实现对数据库操作的ACID控制。其核心思想是将事务管理与业务逻辑解耦&#xff0c;开发者通过简单注解或配置即可管理复杂事务。 开启Spring事务&#xff0c;本质上就是在Spring容器中增加了一个Advisor&#x…

一周学会Flask3 Python Web开发-Debug模式开启

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 默认情况&#xff0c;项目开发是普通模式&#xff0c;也就是你修改了代码&#xff0c;必须重启项目&#xff0c;新代码才生效&…

使用EasyExcel和多线程实现高效数据导出

​ 使用EasyExcel和多线程实现高效数据导出 1. 概述 在企业级应用中&#xff0c;数据导出是一个常见的需求。为了提高导出效率&#xff0c;尤其是在处理大量数据时&#xff0c;我们可以结合使用EasyExcel库和多线程技术。本文将详细介绍如何通过EasyExcel和多线程技术实现高…

[qt5学习笔记]Application Example示例程序源码解析

开发环境问题 vs2022下直接打开ui、ts文件失败 解决办法如下图&#xff0c; 设置designer独立运行。估计是嵌入运行存在些许bug。 同理&#xff0c;ts编辑工具linguist也存在这个问题。 qrc rc的编辑嵌入编辑都正常&#xff0c;但分离式更稳定可靠。 qt creator编译失败 原…

Jetson Agx Orin平台JP6.0-r36.3版本修复了vi模式下的原始图像损坏(线条伪影)

1.问题描述 这是JP-6.0 GA/ l4t-r36.3.0的一个已知问题 通过vi模式捕获的图像会导致异常线条 参考下面的快照来演示这些线伪影 这个问题只能通过VI模式进行修复,不应该通过LibArgus看到。 此外,这是由于内存问题。 由于upstream已经将属性名称更改为“dma-noncoherent”…

[创业之路-299]:图解金融体系结构

一、金融体系结构 1.1 概述 金融体系结构是一个国家以行政的、法律的形式和运用经济规律确定的金融系统结构&#xff0c;以及构成这个系统的各种类型的银行和非银行金融机构的职能作用和相互关系。以下是对金融体系结构的详细分析&#xff1a; 1、金融体系的构成要素 现代金…

0基础学LabVIEW

对于零基础的朋友来说&#xff0c;学习LabVIEW需要一个科学的学习路径和方法。通过观看优质的B站教程打好基础&#xff0c;再结合实际项目进行实践操作&#xff0c;能够快速提升LabVIEW的应用能力。以下是从入门到进阶的学习建议。 ​ 一、利用B站入门教程打基础 筛选优质教程…

Query String 传递 json 对象参数、map参数

?params[name]John&params[age]30&params[isStudent]true params[name] 和 params[age] 中的 [] 是非法字符。 服务器&#xff08;Apache Tomcat&#xff09;默认不允许在 URL 中使用 []。 对 [] 进行 URL 编码 将 [] 编码为 %5B 和 %5D。 示例&#xff1a; ?pa…

腿足机器人之六- 前向运动学

腿足机器人之六- 前向运动学 刚体运动学基础坐标系定义旋转矩阵与欧拉角齐次变换矩阵&#xff08;平移旋转的统一表示&#xff09; 运动链建模串联运动链结构&#xff08;从基座到末端的关节连接&#xff09;标准Denavit-Hartenberg&#xff08;D-H&#xff09;参数法改进D-H参…