python编写webservice(webapp)的起步小节

今天终于写出了服务端的一个helloworld.

小小总结一下,以表纪念。因为的确不是很容易,在完全自己摸索的前提下。

目前的需求,是将嵌入式设备板卡的设备 的测试函数,通过bash中调用的curl发现我正在编写的webservice中,然后将测试结果写入数据库。

本周花了几天时间,启动这个事。

现在终于迈出第一步:在pycharm中将sypne自带的helloworld_soap.py跑起来。

这里将中间遇到的各种坑记录一下。(从离现在近的事情,倒着写)

============================================

1。【换清华的pip支持】 最后一个问题,是Debug后,发现lxml利用pip install lxml无法安装。

然后,找到一个贴子,在这里建一个目录:C:\Users\Administrator\AppData\Roaming\pip

然后建pip.ini,

填上内容

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

然后,在pycharm的terminal,可以安装lxml。

嗯,的确感谢清华。感谢所有清华。

2. 【用源码换掉pip安装的spyne】helloworld_soap.py编不过。这里找了n多的贴子。

但是,发现一个最简单的问题,pip install spyne后,安装的spyne的版本,与网上那些例子不一样,特别是,spyne自带的文档,

似乎也比代码旧了不少。

http://spyne.io/docs/2.10/manual/02_helloworld.html

http://soaplib.github.io/soaplib/2_0/pages/helloworld.html#declaring-a-soaplib-service

然后,我决定,把spyne的源码下载下来。

git clone https://github.com/arskom/spyne.git

替换掉由pip安装好的spyne【youproject\venv\Lib\site-packages\spyne ,换成自己下下来的。】。后来的事实证明,这是完全正确的。当然,也许有隐患,因为现在的代码__version__ = '2.13.12-alpha'

是个alpha版本,嗯,是有点,不过也没有什么。

比较了一下,的确与pip自动安装的2.12差别很大。

但是代码终于可以编过了。

3。 pycharm出错后的显示信息。因为第一次用,还是适应了好一会,才看明白到底错在哪里。

4。 再向前推,是选型,到底基于哪个示例开发webservice.

这里显然是花了最长的时间。

收集到足够的信息后,我决定从最简单的开始,先试试soaplib,结果你猜怎么着,网上的代码大多编不过。

因为之前已知道soaplib被升级成rpclib,而rpclib又被升级为spyne.

但因为soaplib的文章相对较多,我只是想完成任务,没必要搞最新的,所以我自然是丝毫没有犹豫,直奔soaplib而去。

然后,现实与想的有很大差距,第一个遇到的问题,是代码编过了。

这是我这次项目中第二个python文件,之前那是用eclipse完全纯手工,将数据写入到mysql中。没费什么劲。

但这次不同,完全编不过。引入的各种库不是报错,就是import语句说库里没这些组件。

好吧。。。。。没必要跟自己过不去,还是用最新的吧。所以还是用spyne

git clone https://github.com/arskom/spyne.git

而这其中,后来证明,网上的文章都不靠谱,而应当直接用示例:

https://github.com/arskom/spyne/tree/master/examples/helloworld_soap.py

5。使用pycharm

python环境建好后,如何使用pycharm成为下一个重要的任务。

pycharm的【setting】在【file】下面,这里是一个比较大的坑。另外,事实证明,最好汉化。我装好后,突然犯懒,没有汉化,字太好,太不好找。

然后是使用pycharm建工程。

这里有两件事,之前要装好python3,还是放弃python2吧。搞python这些人,有些疯狂。旧的东西,他们支持得不好。

然后,一定要选用virtualenv来建。

这里我忘记了,是否装了virtualenv和它在windows下的包装。可能不用,因为mycharm会处理这些事。只要你设置好代理。

6。建python的开发环境。

这里费了不少的劲。

因为不熟。。。

现在总结,两条路:

一条路是:装python,然后装pip,然后pycharm,然后开工。

一条路可能是更好:只装Andconda . 但是,Andconda的问题是,无论如保pycharm也找不到pip,但这也许不是大问题,只要加入到环境变量中即可。即C:\ProgramData\Anaconda3\Scripts和C:\ProgramData\Anaconda3\Library\bin两个目录。

但这样,可能影响已安装好的。

似乎目前mycharm还无法解决这个问题。除非设置了上述环境变量。这里可能是我哪里搞得不对。可能手工将这些文件(pip.exe和conda.exe)拷到自己的virtualenv中,也是一样可以用的。

7. python常用的库

这里花的时间也不少。

一开始没有搞清楚这些组件的含义,走错了几次方向。

如request是用于客户端的,简化python调用WEBservice的。在我这次的任务中,就没有意义。因为这次客户端是linux的shell,在板卡上,我们不能保证板卡上有可用的python 环境。

还有pip ,conda,anaconda,virtualenv等等,绕了很多。

8。安装python和mycharm的各种困难。如在xp下如何装,如何在xp下jdk1.8等等。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值