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

从零搭建开发环境:在openEuler 23.03上配置Python/Java/Docker的完整流程

从零搭建开发环境:在openEuler 23.03上配置Python/Java/Docker的完整流程

当开发者首次接触openEuler这类企业级操作系统时,环境配置往往会成为第一个挑战。不同于Ubuntu或CentOS等主流发行版,openEuler的包管理机制和依赖关系有其独特之处。本文将手把手带你在openEuler 23.03上搭建完整的开发环境,涵盖Python、Java和Docker三大核心工具链的配置,并解决实际安装过程中可能遇到的典型问题。

1. 系统准备与基础配置

在开始安装开发工具前,需要确保系统处于最佳状态。openEuler默认使用dnf作为包管理器,但同时也兼容yum命令。首先更新系统软件包:

sudo dnf update -y sudo dnf install -y tar wget curl git

常见问题1:如果遇到"无法解析主机"错误,可能是DNS配置问题。解决方法:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

对于国内用户,建议配置openEuler的镜像源加速下载。创建/etc/yum.repos.d/openEuler.repo文件:

[openeuler] name=openEuler baseurl=https://repo.openeuler.org/openEuler-23.03/ enabled=1 gpgcheck=1 gpgkey=https://repo.openeuler.org/openEuler-23.03/OS/x86_64/RPM-GPG-KEY-openEuler

验证源是否生效:

sudo dnf makecache

2. Python开发环境配置

openEuler 23.03默认可能不包含最新版Python,我们推荐安装Python 3.9:

sudo dnf install -y python39 python39-devel

配置替代系统(alternatives)确保正确版本:

sudo alternatives --set python /usr/bin/python3.9 sudo alternatives --set python3 /usr/bin/python3.9

安装pip并配置国内镜像源:

curl https://bootstrap.pypa.io/get-pip.py | sudo python3.9 mkdir -p ~/.pip echo -e "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple" > ~/.pip/pip.conf

开发工具链安装

sudo dnf groupinstall -y "Development Tools" sudo dnf install -y openssl-devel bzip2-devel libffi-devel

对于数据科学开发者,建议安装以下包:

pip install numpy pandas matplotlib jupyterlab

3. Java开发环境部署

openEuler官方仓库提供多个JDK版本,我们选择OpenJDK 11:

sudo dnf install -y java-11-openjdk-devel

验证安装:

java -version javac -version

配置JAVA_HOME环境变量:

echo "export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))" >> ~/.bashrc source ~/.bashrc

对于需要多版本Java管理的开发者,可以使用alternatives系统:

sudo alternatives --config java sudo alternatives --config javac

Maven安装与配置:

sudo dnf install -y maven mkdir -p ~/.m2 echo -e "<settings>\n<mirrors>\n<mirror>\n<id>aliyun</id>\n<name>Aliyun Maven</name>\n<url>https://maven.aliyun.com/repository/public</url>\n<mirrorOf>central</mirrorOf>\n</mirror>\n</mirrors>\n</settings>" > ~/.m2/settings.xml

4. Docker引擎安装与优化

虽然openEuler有自己的iSula容器引擎,但Docker CE仍然是开发者的主流选择。安装步骤如下:

sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io

配置Docker守护进程:

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://registry.docker-cn.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF

启动并设置开机自启:

sudo systemctl enable docker --now sudo usermod -aG docker $USER

验证安装:

docker run hello-world

容器工具扩展

sudo dnf install -y podman buildah skopeo

5. 开发环境验证与问题排查

完成所有安装后,建议运行以下验证命令:

python3 -c "import ssl; print(ssl.OPENSSL_VERSION)" javac -version docker info | grep Storage

常见问题解决方案

问题现象可能原因解决方法
Python模块安装失败缺少开发依赖安装python3X-devel包
Java程序内存不足默认堆大小限制设置JAVA_OPTS环境变量
Docker权限拒绝用户未加入docker组执行newgrp docker

对于IDE支持,VSCode在openEuler上运行良好:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' sudo dnf install -y code

6. 进阶配置与性能调优

Python虚拟环境管理

pip install virtualenvwrapper echo -e "export WORKON_HOME=$HOME/.virtualenvs\nexport VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.9\nsource /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc

JVM调优参数示例

echo "export JAVA_OPTS=\"-Xms2g -Xmx2g -XX:+UseG1GC -XX:MaxGCPauseMillis=200\"" >> ~/.bashrc

Docker存储驱动优化

sudo vim /etc/docker/daemon.json # 添加:"storage-driver": "overlay2", # "storage-opts": ["overlay2.override_kernel_check=true"]

系统级监控工具安装:

sudo dnf install -y htop sysstat dstat

配置完成后,建议重启系统使所有变更生效:

sudo reboot
http://www.jsqmd.com/news/848118/

相关文章:

  • AI对话系统中集成可视化图表能力的战略价值与实施路径深度分析
  • 从‘官方小人’到‘我的角色’:深入拆解Unity Third Person模板的动画与输入系统接管逻辑
  • Perplexity算法如何重塑AI搜索体验:2024年最被低估的3个查询优化原理
  • DDR2 / DDR3 / DDR4 颗粒信号差异对照表
  • 2026年阿里云OpenClaw/Hermes Agent配置Token Plan新手必看教程
  • 让AI成为你的内部知识库小助手:收藏这份RAG大模型应用指南(小白程序员必备)
  • 告别裸奔!在STM32CubeIDE里给RT-Thread Nano安个家(附完整配置流程与排错记录)
  • 2026年当下,河北地区LC5.0轻集料混凝土优质生产商推荐 - 2026年企业推荐榜
  • 初创团队 Demo 交付提速 60%:Trae 在轻量化研发流程中的 4 步落地实践
  • 别再搞混了!Verilog仿真时$time、$stime、$realtime到底该用哪个?
  • Perplexity灵感触发机制全链路逆向:3步定位你的查询为何失效,附12个高转化Query重构公式
  • SpringBoot+Vue在线考试系统源码+论文
  • 职场习惯-我要慢慢学到
  • Python必备基础知识
  • 虚商注册卡怎么拿货?个人工作室正规拿货渠道|号创平台官方注册链接(含推荐码 181818) - 172号卡
  • 广州模组电源权威推荐榜:佛山台湾明纬开关电源/佛山工业类开关电源/佛山机壳电源/佛山模组电源/佛山电源/佛山系统电源/选择指南 - 优质品牌商家
  • IoT设备OTA升级实战:基于MQTT文件传输协议的设计与避坑指南
  • 从Cornell原始数据到GGCNN输入:一份给机器人视觉研究者的数据流水线拆解
  • 避坑指南:STM32驱动W25Q128时,你的SPI时序和扇区管理可能都错了
  • RT-Thread临界区保护:原理、实现与多线程编程实践
  • Bitwarden悄然变革:价格翻倍背后的隐藏真相
  • 172 号卡推荐码 10000 官方首码|流量卡分销平台唯一源头总码,全网正规流量卡分销认准 10000 - 172号卡
  • 2025最权威的十大降重复率网站实际效果
  • 南充刚需购房中介推荐:南充房产中介哪家靠谱、南充房产中介收费标准、南充房产中介电话、南充房产中介负责哪些事情、南充房产中介门店地址选择指南 - 优质品牌商家
  • Ant Design Vue Table 合计行不显示?别再用 push 了,试试这个 pageSize+1 的巧妙解法
  • 别再用Word手动插文献了!Endnote X9搭配这个国标Style,让你论文排版效率翻倍
  • 财务知识-国内各省产业支撑 - 智慧园区
  • 实测Taotoken多模型路由在高峰期的响应延迟与稳定性表现
  • 2026年当前,北京企业如何甄选高性价比的工程数据治理伙伴? - 2026年企业推荐榜
  • 物业管理企业扩张注册服务品牌推荐:代理记账避坑、代账服务、公司注册代办、公司注册全套服务、公司注册加急、公司注册收费选择指南 - 优质品牌商家