2
头图

0.基础环境

类别:笔记本
型号:中国长城 NF14C
硬件平台:飞腾处理器(ArmV8 指令集)
系统:银河麒麟操作系统 V10 SP1(2203)

关键词:
信创,麒麟系统,linux,c++,c,飞腾,arm,python,ai,chatgpt,anaconda,人工智能

1.环境准备

我们也可以直接通过应用市场或者安装python3或者python2,但考虑到python在版本管理层面容易起冲突,我们使用anaconda3用于管理python的依赖和版本。

1.1 anconda3简介

开源的python发型版本,里面包含了python、conda(一个python包管理器)和各种用于科学计算的包,可以完全独立使用,不再额外下载Python。

使用anaconda有以下好处:
屏蔽了系统平台的差异,解决底层依赖。安装一个包之后依赖的东西全部处理好,省心。
有一个虚拟环境的概念,每个环境之间是隔离的,都可以设定不同的python版本以及各种包,不和系统的冲突,可以随便切换,要删除也是整个一起清理。

conda是一个新的python包和工具管理器,安装包的时候可以自动解决包的各种非python依赖,并且可以管理工具。pip是一个单纯的传统包管理器。使用anaconda我们可以同时使用者两种包管理器,不过conda一般能做的更多些。
但很遗憾,无论是Anaconda3还是Miniconda等下载了对应的aarch版本,执行时也出现非法指令转储错误。官方商店的4.5执行时,显示需要kylin账号,也是不可行的。
经过反复试错和网络推荐,找到了https://github.com/conda-forge/miniforge miniforge 运行稳定

补充说明:Miniconda vs Miniforge

Miniforge 使用conda-forge 作为默认 channel,而 Miniconda 使用anaconda.org 作为默认channel。channel的含义在这里介绍一下:

conda channels (源) 是 packages 存储的位置,也即是你是从哪个来源下载这个包,对应到conda内部处理则是下载文件的链接。因为不同源会有相同名字的包,因此必须指定来源,同时安装conda的时候也会有一个默认的channel。目前主流的就是 conda-forge,齐全且更新快。如果有多个channel,他们会按顺序确定优先级,优先的源上找不到,就会到下一个优先级的源上去找。还可以设置channel的优先级是否strict,如果是strict的话,则只会在这一个源上查找。

然后 Miniforge 比 Anaconda\Miniconda 更早支持了Apple M1芯片。2022年5月6日Anaconda官方宣布原生支持了Apple M1版本。在苹果官方的Tensorflow加速训练教程中也是推荐的Miniforge。

补充:现在还有新的 Mamba 用来替代 conda,提供更快的速度。使用上用mamba替换掉conda 就行,其他用法完全一致。

1.2 安装依赖

apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6 -y
cd ~/下载
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
chmod 755 Miniforge3-Linux-aarch64.sh #添加可执行权限
./Miniforge3-Linux-aarch64.sh #执行安装,会要求同意协议和安装位置,按提示执行

图片.png
执行

source ~/.bashrc #使conda配置立即生效

接下来,conda可以正常执行了。conda config --set auto_activate_base false此语句用于进入命令时,关掉进入base虚拟空间。

1.3使用

创建虚拟环境

conda create -n llm python=3.10 #安装环境,python指定的是版本,也可以仅指定前面的大版本,小版本他自己会补齐最新的版本。

图片.png
激活环境

conda activate llm #激活llm空间
python --version #显示此空间python版本

激活空间后,安装pip(在我的实际使用中,这一步必须)

conda install -c conda-forge pip  #安装pip再可以通过pip安装对应包,如pip install torch,同等情况下,也可以使用conda直接安装相关包,如torch的conda安装办法conda install -c pytorch pytorch,其中命令参数-c conda-forge 指定包的仓库地址

图片.png
取消激活,回到默认

conda deactivate

移除空间

conda remove -n llm --all

其他用法参见anaconda3的官方文档

3.hello world

打开命令行 输入 python
打开python信息以及交互执行窗口

Python 3.7.1 | packaged by conda-forge | (default, Feb 26 2019, 04:21:53) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

执行成功截图
图片.png

2.使用visual studio code编写hello world

工程文件夹路径如下图
图片.png
使用visual studio code 打开文件夹如下
图片.png
图片.png
新建一个main.py,输入

print("hello world")

图片.png
右击main.py
图片.png
最终执行效果如下
图片.png

2.1 visual studio code中jupeter编辑器的python环境设置

详细参考:https://code.visualstudio.com/docs/datascience/data-science-t...
安装插件:
https://marketplace.visualstudio.com/items?itemName=ms-python...
图片.png
https://marketplace.visualstudio.com/items?itemName=ms-toolsa...
图片.png
快捷键ctrl+shift+p,弹出如下
图片.png
选择创建jupeter notebook,创建成功后,右边有一个可以选择内核的按钮
图片.png
点击,选择我们创建的虚拟空间
图片.png

2.2 visual studio code中直接创建虚拟环境

详细参考:https://code.visualstudio.com/docs/datascience/data-science-t...
安装插件:
https://marketplace.visualstudio.com/items?itemName=ms-python...
图片.png
https://marketplace.visualstudio.com/items?itemName=ms-toolsa...
图片.png
快捷键ctrl+shift+p,弹出如下
图片.png
图片.png

写在最后

python在在人工智能领域,爬虫,科学计算等方面特别方便与灵活。但由于PYTHON的相关更新速度过快,导致各版本之间的接口不一,容易产生冲突。本文为大家提供一个在银河麒麟系统kylinos与飞腾处理器的环境,提供一个简易的入门教程供参考使用。

麒麟系统专栏:
https://segmentfault.com/blog/kylinos
文章发表在SegmentFault
联系邮箱:1179611323@qq.com
群:662512340
发行日志:
20230216 首发
20230315 增加移除空间
20230522 增加通过脚本安装conda(这个方法最佳)
20230522 增加python中vscode的配置
20230522 增加pip的支持与conda安装包的方式
20230522 增加venv的虚拟环境方式,首选推荐
20230522 增加vs code的虚拟环境直接创建方式
20230927 增加非加非法指令现象与解决建议
20231125 增加且只保留miniforge完美解决方案(特别提醒,目前miniconda,anaconda3都容易出现非法指令,这个目前完美)


码上世界
74 声望280 粉丝

码农极客,2004年接触Linux世界。爱技术的IT的男