【记录】在pcDuino上的Lubuntu中用Python的Flask建立Web服务器

【背景】

之前已经:

【记录】尝试通过网络中的ssh2去连接pcDuino

【记录】在ssh2可以登陆pcDuino后尝试去用VNC连接并操作pcDuino

现在接着去,用Python的flask去建立web服务器。

【折腾过程】

1.参考:

How to use Python to setup pcDuino as a web server | pcDuino

但是觉得其好像很繁琐的样子。

2.所以去官网:

Welcome | Flask (A Python Microframework)

去参考其:

Installation — Flask 0.10.1 documentation

去安装Flask,但是也觉得很烦。

3.所以直接去试试,在Lubuntu中去安装flask:

先打开Lubuntu中的终端LXTerminal:

lubuntu accessories lxterminal use the command line

然后启动终端之后:

run lxterminal within lubuntu

4.再去安装flask:

结果很明显,Lubuntu中没有安装pip:

lubuntu sudo pip command not found

5.再去先安装pip:

ubuntu@ubuntu:~$ sudo apt-get install python-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  python-pkg-resources python-setuptools
Suggested packages:
  python-distribute python-distribute-doc
The following NEW packages will be installed:
  python-pip python-pkg-resources python-setuptools
0 upgraded, 3 newly installed, 0 to remove and 209 not upgraded.
Need to get 599 kB of archives.
After this operation, 1647 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://ports.ubuntu.com/ubuntu-ports/ precise/main python-pkg-resources all 0.6.24-1ubuntu1 [63.1 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports/ precise/main python-setuptools all 0.6.24-1ubuntu1 [441 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports/ precise/universe python-pip all 1.0-1build1 [95.1 kB]
Fetched 599 kB in 3s (167 kB/s)  
Selecting previously unselected package python-pkg-resources.
(Reading database ... 63628 files and directories currently installed.)
Unpacking python-pkg-resources (from .../python-pkg-resources_0.6.24-1ubuntu1_all.deb) ...
Selecting previously unselected package python-setuptools.
Unpacking python-setuptools (from .../python-setuptools_0.6.24-1ubuntu1_all.deb) ...
Selecting previously unselected package python-pip.
Unpacking python-pip (from .../python-pip_1.0-1build1_all.deb) ...
Setting up python-pkg-resources (0.6.24-1ubuntu1) ...
Setting up python-setuptools (0.6.24-1ubuntu1) ...
Setting up python-pip (1.0-1build1) ...
ubuntu@ubuntu:~$ 

如图:

sudo apt-get install python-pip and yes

6.然后再去用pip去安装flask:

ubuntu@ubuntu:~$ sudo pip install flask
Downloading/unpacking flask
  Downloading Flask-0.10.1.tar.gz (544Kb): 544Kb downloaded
  Running setup.py egg_info for package flask
    
    warning: no files found matching '*' under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'docs'
    warning: no previously-included files matching '*.pyo' found under directory 'docs'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
    warning: no previously-included files matching '*.pyo' found under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'examples'
    warning: no previously-included files matching '*.pyo' found under directory 'examples'
    no previously-included directories found matching 'docs/_build'
    no previously-included directories found matching 'docs/_themes/.git'
Downloading/unpacking Werkzeug>=0.7 (from flask)
  Cannot fetch index base URL http://pypi.python.org/simple/
  Downloading Werkzeug-0.9.4.tar.gz (1.1Mb): 1.1Mb downloaded
  Running setup.py egg_info for package Werkzeug
    
    warning: no files found matching '*' under directory 'werkzeug/debug/templates'
    warning: no files found matching '*' under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'docs'
    warning: no previously-included files matching '*.pyo' found under directory 'docs'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
    warning: no previously-included files matching '*.pyo' found under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'examples'
    warning: no previously-included files matching '*.pyo' found under directory 'examples'
    no previously-included directories found matching 'docs/_build'
Downloading/unpacking Jinja2>=2.4 (from flask)
  Downloading Jinja2-2.7.1.tar.gz (377Kb): 377Kb downloaded
  Running setup.py egg_info for package Jinja2
    
    warning: no files found matching '*' under directory 'custom_fixers'
    warning: no previously-included files matching '*' found under directory 'docs/_build'
    warning: no previously-included files matching '*.pyc' found under directory 'jinja2'
    warning: no previously-included files matching '*.pyc' found under directory 'docs'
    warning: no previously-included files matching '*.pyo' found under directory 'jinja2'
    warning: no previously-included files matching '*.pyo' found under directory 'docs'
Downloading/unpacking itsdangerous>=0.21 (from flask)
  Downloading itsdangerous-0.23.tar.gz (46Kb): 46Kb downloaded
  Running setup.py egg_info for package itsdangerous
    
    warning: no previously-included files matching '*' found under directory 'docs/_build'
Downloading/unpacking markupsafe (from Jinja2>=2.4->flask)
  Downloading MarkupSafe-0.18.tar.gz
  Running setup.py egg_info for package markupsafe
    
Installing collected packages: flask, Werkzeug, Jinja2, itsdangerous, markupsafe
  Running setup.py install for flask
    
    warning: no files found matching '*' under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'docs'
    warning: no previously-included files matching '*.pyo' found under directory 'docs'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
    warning: no previously-included files matching '*.pyo' found under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'examples'
    warning: no previously-included files matching '*.pyo' found under directory 'examples'
    no previously-included directories found matching 'docs/_build'
    no previously-included directories found matching 'docs/_themes/.git'
  Running setup.py install for Werkzeug
    
    warning: no files found matching '*' under directory 'werkzeug/debug/templates'
    warning: no files found matching '*' under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'docs'
    warning: no previously-included files matching '*.pyo' found under directory 'docs'
    warning: no previously-included files matching '*.pyc' found under directory 'tests'
    warning: no previously-included files matching '*.pyo' found under directory 'tests'
    warning: no previously-included files matching '*.pyc' found under directory 'examples'
    warning: no previously-included files matching '*.pyo' found under directory 'examples'
    no previously-included directories found matching 'docs/_build'
  Running setup.py install for Jinja2
    
    warning: no files found matching '*' under directory 'custom_fixers'
    warning: no previously-included files matching '*' found under directory 'docs/_build'
    warning: no previously-included files matching '*.pyc' found under directory 'jinja2'
    warning: no previously-included files matching '*.pyc' found under directory 'docs'
    warning: no previously-included files matching '*.pyo' found under directory 'jinja2'
    warning: no previously-included files matching '*.pyo' found under directory 'docs'
  Running setup.py install for itsdangerous
    
    warning: no previously-included files matching '*' found under directory 'docs/_build'
  Running setup.py install for markupsafe
    
    building 'markupsafe._speedups' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c markupsafe/_speedups.c -o build/temp.linux-armv7l-2.7/markupsafe/_speedups.o
    markupsafe/_speedups.c:12:20: fatal error: Python.h: No such file or directory
    compilation terminated.
    ==========================================================================
    WARNING: The C extension could not be compiled, speedups are not enabled.
    Failure information, if any, is above.
    Retrying the build without the C extension now.
    
    
    ==========================================================================
    WARNING: The C extension could not be compiled, speedups are not enabled.
    Plain-Python installation succeeded.
    ==========================================================================
Successfully installed flask Werkzeug Jinja2 itsdangerous markupsafe
Cleaning up...
ubuntu@ubuntu:~$ 

如图:

sudo pip install flask download werkzeug and jinja2

sudo pip install flask download itsdangerous  markupsafe

sudo pip install flask running setup.py and complete

7.然后再去参考官网去写测试代码:

启动LeafPad

lubuntu menu accessories leafpad

run leafpad with new file

拷贝代码:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Demo webserver using python flask in Lubuntu pcDunino by Crifan Li"

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80, debug=True)

然后用Ctrl+V去粘贴代码到Leafpad中:

ctrl v to paster python flask code to leafpad

然后另存为:

leafpad save as python code

然后新建一个叫做develop的文件夹:

create folder input develop then enter

然后输入回车,进入该文件夹,然后输入保存的文件名:demoWebserverViaFlask.py,然后再点Save保存:

input name then save

8.然后回到终端中,切换到对应的develop文件夹,则ls可以看到对应的文件:

change to develop folder can see py file

然后再去运行:

run flask demo file to run webserver on lubuntu

9.在主机端Win7中,能访问到这个服务器之前,先去确定其pcDuino的ip是多少

lubuntu lxterminal file new tab

run ifconfig to check pdduino inet addr

可见,是:

192.168.1.107

所以,在Win7中,用(火狐)浏览器去访问此地址:

on host win7 access flask webserver can work

说明的确用Python的Flask建立的Web服务器,的确可以正常工作了。

对应的,可以看到终端中的输出:

flask demo can show log for web access get http 1.1 200

显示出对应的网页的访问。

 

【总结】

至此,在pcDuino的Lubuntu上,用Python的Flask去建立一个最简单的Web服务器,就完成了。

其中可见:

主要是对于在Ubuntu系统上,去安装Flask,建立Web服务器,相关的操作流程。

其本身,和pcDuino,倒是关系不大。

但是,这也说明了,此处,可以把pcDuino当做一台服务器,可以用此服务器,去做你想要的各种各样的事情了。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量