美文网首页python生活不易 我用python
跟着销售学python系列(1)--实践项目骨架(1)

跟着销售学python系列(1)--实践项目骨架(1)

作者: 日月山人 | 来源:发表于2015-05-07 20:05 被阅读779次

       暂时不对自己的背景做任何的交代,  为什么写这个系列, 参加YC培训课最大的总结, 就是别写别思考了。  

        以前的写的,慢慢搬家过来吧。

    学习计划:

         ✅  learn  python the hard way , nosetest的学习。

         ✅   head frist the python 第二章


        知识点:

                 nosetest

      因为是看了两部书,关于项目骨架有点乱,其实想了想,head first thepython 只是说了构建包,发布包。 如建立setup.py, 

          pip setup.py  sdist

         pip  setup.py install

     这样系统会建立bulid,bin等文件, 但是这是项目骨架吗?

    书中没有说到, 另一本书, learn python the hard way , 提到的项目骨架也没有说撒是项目骨架。 

    百度了一下,也没有具体的定义, 不如自己定义,就是一个python模块正常所需要的模块框好了。

    project(主目录)

               - lixiang(系列目录)

                       -  setup.py

                       _   projectname

                              __init__.py

                       -   bin

                         -docs

                          -tests

                              __init__.py

                              name_test.py

       以上是一个项目骨架的结构, 也许这是一个行业的惯例,也许是一个作者的习惯,作为一个新手,这个地方不影响继续学习,存疑吧,不深究。(?)

     macos  下面的命令:

     mkdir project

    cd  project

    mkdir  lixiang

    cd  lixiang

    mkdir projectname

    mkdir bin

    mkdir  tests

    mkdir docs

    touch  projectname/__init__.py

    touch  tests/__init__.py

      目录下, 建立setup.py , 看这里。 

       tests 建立test.py .

        😖: __init__.py 是什么?

          学习一个原则: 吸引你进行下一步操作吗?   不影响

           这个百度一下理解超过10分钟。

     百度一下:

    在 python 中,如果当前目录中存在有 __init__.py 文件,则表示该目录为一个包(package),在包中,引用同级目录或子目录中的其它模块非常简单,直接使用 import 语句即可

    同级目录下,没有__init__.py  , 一样可以导入。

      学海无涯, 你要问为什么这个有这个功能? 这个就是python的语法结构了, 研究这个似乎不是我们学习的主要目的,有些东西的理解必须等到自己全盘了解才知道。

      学会克制好奇心也是非常重要的

       根据书中, 输入nosetests, 发现几个问题, 在test目录下,或者删除__init__.py , test.py , nosetests的traceback 都没反应。。

    -------------------------------------------------------

    Ran 0 tests in 0.000s

    OK

     运行0个tests测试,这应该是缺乏test.py的原因。

     加入test.py ,

    from nose.tools import *

    import printlist

    def setup():

           print "setup!"

    def teadown():

          print "tear down!"

    def test_basic():

         print " I  RAN!"

        测试nosetests  发现了

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

    ERROR: Failure: ImportError (No module named printlist)

    -------------------------------------------------------

     在test目录上看看,nosetests

    ----------------------------------------------------------------------.

    Ran 1 test in 0.007s

     看到了吗, 测试了一个test. 我们来删除printlist下的 __init__.py

    rm -f  printlist/__init__.py 

    发现没有出错

    继续:ls -R

     发现

    ./printlist:

    __init__.pyc

    还是依旧无任何影响,__init__.py, 存在有何意义?  

    不懂,继续吧。

    可以留下来, 在社区中提问, 还说继续前进吧。

     看到书中的一句话, 有没有实际的代码给读者看。 作者回答很多python项目用了类似的结构,这个证明了,项目骨架没有统一的格式。 

    本课未解决: __init__.py 存在的 意义??

    相关文章

      网友评论

        本文标题:跟着销售学python系列(1)--实践项目骨架(1)

        本文链接:https://www.haomeiwen.com/subject/itxwfttx.html