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 #执行安装,会要求同意协议和安装位置,按提示执行
执行
source ~/.bashrc #使conda配置立即生效
接下来,conda可以正常执行了。conda config --set auto_activate_base false
此语句用于进入命令时,关掉进入base虚拟空间。
1.3使用
创建虚拟环境
conda create -n llm python=3.10 #安装环境,python指定的是版本,也可以仅指定前面的大版本,小版本他自己会补齐最新的版本。
激活环境
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 指定包的仓库地址
取消激活,回到默认
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.
执行成功截图
2.使用visual studio code编写hello world
工程文件夹路径如下图
使用visual studio code 打开文件夹如下
新建一个main.py,输入
print("hello world")
右击main.py
最终执行效果如下
2.1 visual studio code中jupeter编辑器的python环境设置
详细参考:https://code.visualstudio.com/docs/datascience/data-science-t...
安装插件:
https://marketplace.visualstudio.com/items?itemName=ms-python...
https://marketplace.visualstudio.com/items?itemName=ms-toolsa...
快捷键ctrl+shift+p,弹出如下
选择创建jupeter notebook,创建成功后,右边有一个可以选择内核的按钮
点击,选择我们创建的虚拟空间
2.2 visual studio code中直接创建虚拟环境
详细参考:https://code.visualstudio.com/docs/datascience/data-science-t...
安装插件:
https://marketplace.visualstudio.com/items?itemName=ms-python...
https://marketplace.visualstudio.com/items?itemName=ms-toolsa...
快捷键ctrl+shift+p,弹出如下
写在最后
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都容易出现非法指令,这个目前完美)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。