当前位置: 首页 > 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.zskr.cn/news/1324108.html

相关文章:

  • 3个步骤让你的Mac原生支持200+视频格式预览
  • 华硕路由器终极广告过滤方案:AdGuardHome一键安装完全指南
  • 从零到一:ComfyUI IPAdapter 图像风格迁移终极指南
  • 2026年当下,河北地区LC5.0轻集料混凝土优质生产商推荐 - 2026年企业推荐榜
  • Perplexity灵感触发机制全链路逆向:3步定位你的查询为何失效,附12个高转化Query重构公式
  • C++中函数对象之重载 operator()
  • 虚商注册卡怎么拿货?个人工作室正规拿货渠道|号创平台官方注册链接(含推荐码 181818) - 172号卡
  • 广州模组电源权威推荐榜:佛山台湾明纬开关电源/佛山工业类开关电源/佛山机壳电源/佛山模组电源/佛山电源/佛山系统电源/选择指南 - 优质品牌商家
  • IoT设备OTA升级实战:基于MQTT文件传输协议的设计与避坑指南
  • 跨国设计大文件同步延迟高?企业网盘选型必须知道的 3 个标准(含 5 款网盘实测)
  • 告别纯理论:手把手教你用STM32和OV7725做个实物颜色分拣小车原型
  • AI Agent Harness Engineering 在科研领域的辅助作用
  • 保姆级教程:海信IP501H盒子GK6323芯片救砖指南,从4.4.2卡刷到9.0免拆升级全流程
  • 广州茅台回收门店实测评测:广州专业名酒回收/广州冬虫夏草回收/广州名表回收/广州名贵礼品回收/广州名贵补品回收/选择指南 - 优质品牌商家
  • 保姆级教程:用Materials Studio的Forcite模块搞定氢在钨表面的吸附模拟(附避坑指南)
  • 初创团队降本增效:Trae 在 6.1 节规范模板中的 4 类自动化实践
  • 2026年京东云OpenClaw/Hermes Agent配置Token Plan搭建详细教程
  • GitHub 协作完全指南:从“傻瓜”到专家的保姆级教程
  • 2026年当下,上海两翼自动旋转门直销工厂如何选?深度剖析核孚门窗 - 2026年企业推荐榜
  • 2026年Q2上海大众搬家号码靠谱性实测分析:大众搬家公司电话/宝山大众搬家公司/家具衣橱床拆卸挪移服务/床拆卸打包服务/选择指南 - 优质品牌商家
  • 【独家首发】Perplexity未公开的心理健康API端点清单(含3类受限资源获取通道+OAuth2.0绕过验证备案流程)
  • Ant Design Vue Table 合计行不显示?别再用 push 了,试试这个 pageSize+1 的巧妙解法
  • Perplexity企业级部署实战(内部培训绝密文档节选):权限管控、审计日志与SAML单点登录配置详解
  • 【2026】知云文献翻译安装使用指南:学术PDF划选即译,研究生必备工具
  • 优之彩的不锈钢实心台面,为什么是厨房装修的“长期主义者”?
  • WinDirStat终极指南:如何快速找到并清理Windows磁盘空间
  • 终极指南:如何快速上手BOTW-Save-Editor-GUI塞尔达传说存档编辑器
  • CircuitJS1:浏览器中的电子电路仿真神器完全指南
  • 魔兽争霸3终极优化指南:如何用WarcraftHelper实现高帧率宽屏体验
  • Python必备基础知识