AlpineLinux的在线仓库中,就已经存在了Python3的软件包,所以我们在AlpineLinux中配置python3其实是很容易的。只需要使用apk的软件包管理就可以直接安装了。
以下的操作都是以root用户身份操作的。
我们先来看看使用apk包管理搜索python的结果
localhost:~# apk search python3
agensgraph-plpython3-2.13.1-r3
agensgraph-plpython3-contrib-2.13.1-r3
bareos-22.1.2-r2
boost1.82-python3-1.82.0-r5
boost1.84-python3-1.84.0-r1
freeradius-python3-3.0.26-r8
freeswitch-python3-1.10.11-r0
ipython-8.24.0-r0
kamailio-python3-5.8.3-r0
libpeas-python3-1.36.0-r6
libpeas2-python3-2.0.3-r0
postgresql14-plpython3-14.12-r0
postgresql14-plpython3-contrib-14.12-r0
postgresql15-plpython3-15.7-r0
postgresql15-plpython3-contrib-15.7-r0
postgresql16-plpython3-16.3-r0
postgresql16-plpython3-contrib-16.3-r0
py3-imath-3.1.12-r0
py3-python3-saml-1.16.0-r0
py3-python3-saml-pyc-1.16.0-r0
python3-3.12.7-r0
python3-dbg-3.12.7-r0
python3-dev-3.12.7-r0
python3-doc-3.12.7-r0
python3-gdbm-3.12.7-r0
python3-idle-3.12.3-r0
python3-pyc-3.12.7-r0
python3-pycache-pyc0-3.12.7-r0
python3-pycache-pyc1-3.12.7-r0
python3-pycache-pyc2-3.12.7-r0
python3-tests-3.12.7-r0
python3-tkinter-3.12.3-r0
python3-tkinter-pyc-3.12.3-r0
python3-tkinter-tests-3.12.3-r0
unit-python3-1.32.1-r3
uwsgi-python3-2.0.25.1-r1
xapian-bindings-python3-1.4.24-r2
可以看到,在线仓库中提供的python3的版本是较新的版本。
再来看看pip的版本情况
localhost:~# apk search py3-pip
py3-pip-24.0-r2
py3-pip-bash-completion-24.0-r2
py3-pip-doc-24.0-r2
py3-pip-pyc-24.0-r2
py3-pip-tools-7.4.1-r1
py3-pip-tools-pyc-7.4.1-r1
py3-pip-zsh-completion-24.0-r2
提供的版本也是较新的版本。
使用命令apk add python3 py3-pip开始安装python3。命令的执行结果如下:
localhost:~# apk add python3 py3-pip
fetch http://mirrors.ustc.edu.cn/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
fetch http://mirrors.ustc.edu.cn/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
(1/8) Installing py3-setuptools-pyc (70.3.0-r0)
(2/8) Installing py3-pip-pyc (24.0-r2)
(3/8) Installing py3-parsing (3.1.2-r1)
(4/8) Installing py3-parsing-pyc (3.1.2-r1)
(5/8) Installing py3-packaging-pyc (24.0-r1)
(6/8) Installing py3-packaging (24.0-r1)
(7/8) Installing py3-setuptools (70.3.0-r0)
(8/8) Installing py3-pip (24.0-r2)
Executing busybox-1.36.1-r29.trigger
OK: 559 MiB in 127 packages

安装完成后,查看版本信息来确认安装成功,使用python -V或者python --version
localhost:~# python -V
Python 3.12.6
localhost:~# python --version
Python 3.12.6
pip的也验证一下
localhost:~# pip -V
pip 24.0 from /usr/lib/python3.12/site-packages/pip (python 3.12)
localhost:~# pip --version
pip 24.0 from /usr/lib/python3.12/site-packages/pip (python 3.12)
创建一个虚拟环境,安装flask,写一个简单的页面,验证一下开发环境的整体效果
localhost:~# mkdir flaskdemo
localhost:~# cd flaskdemo
localhost:~/flaskdemo# python3 -m venv venv
localhost:~/flaskdemo# source venv/bin/activate
(venv) localhost:~/flaskdemo# pip install flask
Collecting flask
Downloading flask-3.0.3-py3-none-any.whl.metadata (3.2 kB)
Collecting Werkzeug>=3.0.0 (from flask)
Downloading werkzeug-3.0.4-py3-none-any.whl.metadata (3.7 kB)
Collecting Jinja2>=3.1.2 (from flask)
Downloading jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting itsdangerous>=2.1.2 (from flask)
Downloading itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
Collecting click>=8.1.3 (from flask)
Downloading click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting blinker>=1.6.2 (from flask)
Downloading blinker-1.8.2-py3-none-any.whl.metadata (1.6 kB)
Collecting MarkupSafe>=2.0 (from Jinja2>=3.1.2->flask)
Downloading MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl.metadata (4.0 kB)
Downloading flask-3.0.3-py3-none-any.whl (101 kB)
Downloading blinker-1.8.2-py3-none-any.whl (9.5 kB)
Downloading click-8.1.7-py3-none-any.whl (97 kB)
Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Downloading jinja2-3.1.4-py3-none-any.whl (133 kB)
Downloading werkzeug-3.0.4-py3-none-any.whl (227 kB)
Downloading MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl (23 kB)
Installing collected packages: MarkupSafe, itsdangerous, click, blinker, Werkzeug, Jinja2, flask
Successfully installed Jinja2-3.1.4 MarkupSafe-3.0.1 Werkzeug-3.0.4 blinker-1.8.2 click-8.1.7 flask-3.0.3 itsdangerous-2.2.0
(venv) localhost:~/flaskdemo# cat > app.py << EOF
> from flask import Flask
>
> app = Flask(__name__)
>
> @app.route('/')
> def hello():
> return 'Welcome to My website <a href="https://three-corner.xyz">https://three-corner.xyz</a>'
>
> if __name__ == '__main__':
> app.run(port=5000, host='0.0.0.0', debug=True)
> EOF
(venv) localhost:~/flaskdemo# flask run --host=0.0.0.0 --port=5000
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://192.168.10.153:5000
Press CTRL+C to quit
用浏览器访问的结果如下:

好,咱们的python3基础开发环境已经部署及测试完成了。