🍁博主简介
        🏅云计算领域优质创作者
        🏅新星计划第三季python赛道第一名         🏅阿里云ACE认证高级工程师         🏅阿里云开发者社区专家博主 

目录

1. Python简介

2. Python 发展历史 

3. Python 特点 

 4. 在Docker中部署运行python

5. 在Docker中部署运行pypy

 👑👑👑结束语👑👑👑


1. Python简介

python 原生包 python 云原生_python 原生包

Python是一种解释型的动态语言,面向对象设计,功能十分强大。



它集成了模块(modules)、异常处理(exceptions)、动态类型 (dynamic typing)、高级数据结构(元组、列表、序列)、类 (classes)等高级特性。Python设计精良,语法简约,表达能力很强。

目前,所有主流操作系统(Windows、所有Linux、类Unix系统)都支持 Python。


Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

2. Python 发展历史 

Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。

Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。

像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。

现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。

3. Python 特点 

  • 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
  • 2.易于阅读:Python代码定义的更清晰。
  • 3.易于维护:Python的成功在于它的源代码是相当容易维护的。
  • 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
  • 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
  • 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
  • 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
  • 8.数据库:Python提供所有主要的商业数据库的接口。
  • 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
  • 10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

 4. 在Docker中部署运行python

推荐用户使用Docker官方提供的Python镜像作为基础镜像

第一步,新建项目目录py-official,进入此目录,新建一个Dockerfile文件,内容如下:

FROM python:3-onbuild 
CMD [ "python3.5", "./py3-sample.py" ]

新建py3-sample.py文件,计算Fibonacci数列:

def fib(n): 
    a, b = 0, 1 
    while a < n: 
        print(a, end=' ') 
        a, b = b, a+b 
    print() 
fib(1000)

新建requirements.txt依赖文件,读者可以在此文件中加入项目依赖程序,如Django等。此处仅新建空文件。

$ touch requirements.txt

第二步,使用docker build命令构建名为py2.7-sample-app的镜像

$ docker build -t py3-image .

第三步,通过docker run命令创建并运行容器:

$ docker run -it --rm --name py3-container py3-image 
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

如果大家只需要运行单个Python脚本,那么无需使用Dockerfile构建自定义镜像,而是通过以下命令直接使用官方Python镜像,带参数运行容器:

$ docker run -it --rm --name my-running-script -v "$(pwd)":/usr/src/myapp -w /usr/src/myapp python:3 python your-daemon-or-script.py

5. 在Docker中部署运行pypy

python 原生包 python 云原生_容器_02

PyPy是一个Python实现的Python解释器和即时编译(JIT)工具,它专注与速度、效率,以及和CPython完全的兼容性。PyPy通过JIT技术可以使得Python运行速度提高近十倍,同时保证兼容性。

首先,设置项目目录,并新建hi.py实例程序:

for animal in ["dog", "cat", "mouse"]: 
    print "%s is a mammal" % animal

然后,在根目录新建Dockerfile,基于pypy3的onbuild版本镜像:

FROM pypy:3-onbuild 
CMD [ "pypy3", "./hi.py" ]

如果用户需要使用pypy2,则可以使用:FROM pypy:2-onbuild。



onbuild版本的镜像内含若干onbuild触发器,它们可以再镜像构建期间完成一些必要的初始化操作,便于项目的直接运行。pypy的onbuild 镜像会拷贝一个requirements.txt依赖文件,运行RUN pip install安装 依赖程序,然后将当前目录拷贝至/usr/src/app。

下面,用户开始构建和运行此镜像:

$ docker build -t my-python-app . 
$ docker run -it --rm --name my-running-app my-pyth

如果用户只需要运行单个pypy脚本,并希望避免新建Dockerfile,那么用户可以直接使用以下指令:

$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp pypy:3 pypy3 your-daemon-or-script.py

如果需要使用pypy2运行,则可以使用如下指令:

$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp pypy:2 pypy your-daemon-or-script.py