如何创建Python工程目录

发布时间:2019-09-15 09:56:12编辑:auto阅读(1591)

    如何创建一个简单但是比较规范的python工程目录,本文是学习了Learn Python the Hard Way相关内容后做的一些笔记。

    安装python第三方包

    1. pip from http://pypi.python.org/pypi/pip    用于安装python第三方包的工具
    2. distribute from http://pypi.python.org/pypi/distribute    已被弃用,是SetupTools的一个分支,请参考SetupTools
    3. nose from http://pypi.python.org/pypi/nose    扩展unittest,使得测试的编写、查找、运行更加方便
    4. virtualenv from http://pypi.python.org/pypi/virtualenv    用于创建独立分离的python环境

    创建工程

    1 创建目录

    $ cd workspace

    $ mkdir myproject

    $ cd myproject/
    $ mkdir bin mymodule tests docs

    2 创建文件

    $ touch mymodule/__init__.py

    $ touch tests/__init__.py

    $ touch setup.py

    try:
        fromsetuptools import setup
    except ImportError:
        fromdistutils.core import setup
     
    config = {
       'description': 'My Project',
       'author': 'My Name',
       'url': 'URL to get it at.',
       'download_url': 'Where to download it.',
       'author_email': 'My email.',
       'version': '0.1',
       'install_requires': ['nose'],
       'packages': ['mymodule'],
       'scripts': [],
       'name': 'myproject'
    }
     
    setup(**config)

    $ touch tests/mymodule_tests.py

    from nose.toolsimport *
    import mymodule
     
    def setup():
        print "SETUP!"
     
    def teardown():
        print "TEAR DOWN!"
     
    def test_basic():
       print "I RAN!"

    3 最终的目录结构:

    myproject/
        mymodule/
            __init__.py
        bin/
        docs/
        tests/
            mymodule_tests.py
            __init__.py
        setup.py

    (可以在终端输入命令ls –R查看)

    4 自动测试

    最后可以在工程目录myproject下输入nosetests进行测试
    $ nosetests ( 此处一定要注意,在工程目录下执行nosetests,否则无法自动检测到要执行的测试用例)

    附录

    pip工具

    $ pip install SomePackage  # latestversion
    $ pip install SomePackage==1.0.4    # specificversion
    $ pip install SomePackage>=1.0.4    # minimumversion
    $ pip install –r requirement.txt    #安装requirement.txt文件中指定的python包
    $ pip freeze > requirement.txt     # 将所需的第三方包的版本写入到指定的文件中,以便日后恢复

    virtualenv工具

    http://docs.python-guide.org/en/latest/dev/virtualenvs/
    基本用法:
    1. 为一个工程创建独立的虚拟环境
    $cd my_project_folder
    $virtualenv venv
    $virtualenv –p /usr/bin/python2.7 venv 可以指定python解释器


    2. 激活虚拟环境
    $ sourcevenv/bin/activate
    激活后将会有(venv)的标识,在此虚拟环境中使用pip命令,则第三方包会被安装在venv文件夹中,与全局环境隔离开来。
    (venv).......$pip install requests


    3. 解除虚拟环境
    $deactivate

    nose工具

    1. 在工程目录下myproject创建tests文件夹
    2. 在tests文件夹中创建以moudule_tests.py (以_tests结尾)命名的测试脚本
    3. 在moudule_tests.py中创建test_method()方法(以test开头)
    4. 在工程目录下运行nosetests,就可以自动搜索并测试以test命名的方法

关键字