我们知道对于python项目来说,我们只需要在我们的snapcraft.yaml中指定plugin为python它即可为python项目下载在snapcraft中指定的python的版本。但是对于有一些项目来说,我们的开发者可能需要一个特定的python的版本,那么我们怎么来实现这个功能呢?在今天的教程中,我们来介绍在snapcraft 2.27中所增添的一个新的功能。
我们首先来看一下我做的一个项目:
https://github.com/liu-xiao-guo/python-plugin
snapcraft.yaml
name: python36
version: '0.1'
summary: This is a simple example not using python plugin
description: |
This is a python3 example
grade: stable
confinement: strict
apps:
python36:
command: helloworld_in_python
python-version:
command: python3 --version
parts:
my-python-app:
source: https://github.com/liu-xiao-guo/python-helloworld.git
plugin: python
after: [python]
python:
source: https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
plugin: autotools
configflags: [--prefix=/usr]
build-packages: [libssl-dev]
prime:
- -usr/include
在这里,针对我们的python项目,它指定了在我们项目python part中所定义的python。这个python的版本是直接从网上直接进行下载的。
我们可以直接打包我们的应用,并并运行我们的应用:
$ python36
Hello, world
显然我们的python是可以正常工作的。我们可以通过命令python36.python-version命令来检查我们的python的版本:
$ python36.python-version
Python 3.6.0
它显示了,我们目前正在运行的python的版本3.6。它就是我们在snapcraft中所下载的版本。