麒麟OS系统的Python程序和应用部署
操作系统:银河麒麟桌面操作系统V10(SP1)2403
语言:Python 3.11.9
系统权限配置
麒麟系统有安全机制KYSEC,这是基于kysec安全标记对执行程序、脚本文件、共享库、内核模块进行保护的一种安全机制。除了系统默认集成的执行程序、脚本文件、共享库、内核模块,任何外来的该4种文件,如拷贝、移动、下载、重新编译生成等,都必须添加到麒麟安全管理工具的相应白名单列表中,才能执行调用。会对白名单列表中的文件进行保护,保护文件不被修改、移动、删除。
KYSEC有三种安全模式:
- 强制模式(Normal):出现违规操作时,不止会审计记录该操作,还会阻止该操作的运行;
- 警告模式(Warning):出现违规操作时,会弹出麒麟安全授权认证框进行授权;
- 软模式(Softmode):出现违规操作时,只会审计记录该操作,而不会阻止该操作的运行。
OS 默认设置一般为Normal,如遇提示权限不够,先查看Kysec状态
getstatus
若显示为enabled,命令行界面可用如下指令将其修改为Softmode
setstatus Softmode
Python环境安装配置
1.按需安装依赖包
sudo apt-get update
sudo apt-get install -y build-essential libssl-dev libffi-dev python3-dev
2.下载Python源码包
python官网下载地址:https://www.python.org/downloads/
镜像淘宝: https://npm.taobao.org/mirrors/python/
镜像华为: https://mirrors.huaweicloud.com/python/
3.解压到指定目录
解压至指定目录,确保目录路径为纯英文。
sudo tar -zxvf Python-3.11.9.tgz -C /home/user/local/
4.编译和安装Python
进入解压的Python目录,执行编译和安装命令,注意为了可以使得python程序可以通过pyinstaller打包发布,需要把Python编译为动态库即:--enable-shared模式。l另外通过--prefix指定Python的安装路径。
cd /home/user/local/Python-3.11.9
sudo ./configure --enable-shared --enable-optimizations --prefix=/home/user/software/Python-3.11.9
sudo make clean
sudo make
sudo make install
5.建立软链接
建立安装的Python的软连接可以在命令行全局使用Python和Pip,这里使用python311名字避免冲突。
sudo ln -s /home/user/software/Python-3.11.9/bin/python3.11 /usr/bin/python311
sudo ln -s /home/user/software/Python-3.11.9/bin/pip3 /usr/bin/pip3
6.Python动态库路径配置
到这步Python启动会出现so找不到的错误,这个有多种解决方法,参考https://tendcode.com/subject/article/python-not-find-libpython/
这里考虑Pyinstaller,采用ldconfig方法。
echo "/home/user/software/Python-3.11.9/lib" | sudo tee /etc/ld.so.conf.d/python3.11.conf
sudo ldconfig
7.验证安装情况
验证Python安装情况,这里使用了python311的软连接命令。
sudo python311 --version
Python程序运行和打包
1.代码运行
首先安装Python程序的依赖包
sudo pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
运行主程序验证
sudo python311 fastplot.py
2.Pyinstaller打包应用
最后使用Pyinstaller打包麒麟os系统的应用,具体可参考另一篇Pyinstaller打包的文章。https://blog.csdn.net/weixin_42052836/article/details/82315118?spm=1001.2014.3001.5502
sudo /home/user/software/Python-3.11.9/bin/pyinstaller fastplot-kylinos.spec
3.验证应用
注意修改可执行文件的权限,使得可以直接运行软件程序。