目录
前言
Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。Python在通用应用程序、自动化插件、网站、网络爬虫、数值分析、科学计算、云计算、大数据和网络编程等领域有着极为广泛的应用,像OpenStack这样的云平台就是由Python实现的。
Python语言简介
Python 是一种解释型、交互式、面向对象的编程语言。
Python 的设计哲学强调代码的可读性和简洁的语法。
Python 是跨平台的,可以在多种操作系统上运行。
Python 是一种解释型语言,其源代码可直接运行。
Python 支持多种编程范式,包括过程编程、对象编程,以及最近的函数编程。
Python 的社区非常活跃,拥有丰富的库和工具,使得 Python 在数据科学、机器学习、网络编程等领域广受欢迎。
Python语言移植
编写测试代码hello.py
1.java是class字节码,python就是pyc。
2.java 会在jvm,python在pvm(py虚拟机),之前jvm屏蔽了操作系统、指令集的区别,同理python中pvm承担了相同的工作。
3.cpu执行,打印强调的是:py语言,从源码到执行的过程。
查询本地的Python环境
yun search python
Yum search python 看一下是否有py环境
把在X86系统上的hello.py直接拷贝到ARM系统同样执行
python hello.py
Numpy 模块移植
在ARM环境下的麒麟操作系统中 ,加载Numpy模块
另外一个实验
我们在编写python代码的时候,通常会通过import加载外部模块,本实验演示的加载numpy模块(假如用到)如何移植。(import加载numpy报错,没有找到numpy模块)
解决方法:1.pip
通过pip模块管理工具 移植Numpy模块
安装pip来管理Numpy模块
通过python内建的pip工具来安装相关模块。
第一行:Yum 先安装pip工具
第二行:pip3 install 作用是升级pip,因为安装后不是最新的pip版 本,会造成pip无法正常使用
第三行:pip config更改安装源,默认是国外地址
第四行:pip install pip_search 默认的search功能被禁止,必须安装pip_search模块才能使用search功能
第五行:pip search,通过上一步安装的pip search查找源中是否有numpy模块
注意:有些模块在x86的官方源中有,在arm环境中没有.
使用pip命令进行安装
pip install numpy
安装numpy ,导入numpy模块,np.zeros(2)验证numpy功能
移除刚才pip安装的numpy模块
验证移除效果
安装编译所需要的编译器
下载Numpy源码包,然后通过setup.py进行编译安装
下载源码包
第三行:安装依赖cython
第四行:执行setup.py install进行编译安装
验证
应用移植方案
基于解释型语言开发应用移植方案
解释型语言:典型的如Python语言,属于解释型语言。
解释型语言开发的程序在迁移到国产化平台时,一般不需要重新编译。
解释型语言的源代码由编译器生成字节码,再由虚拟机解释执行。
虚拟机将不同CPU指令集的差异屏蔽,因此解释型语言的可移植性很好。
如果程序中调用了编译型语言所开发的so库,那么这些so库需要重新移植编译。
总结
解释性语言,跟java一样,如果用到了函数库(如numpy) ,都放到虚拟机中执行。
强调一下如果用相关函数库,arm环境中也要有相关函数库。