《笨方法学Python》习题46

习题 46: 一个项目骨架

这里将学会如何建立一个项目“骨架”目录。这个骨架目录具备让项目跑起来的所有基本内容。它里边会包含你的项目文件布局、自动化测试代码,模组,以及 安装脚本。
骨架内容:
首先使用下述命令创建骨架目录:

~ $ mkdir -p projects
~ $ cd projects/
~/projects $ mkdir skeleton
~/projects $ cd skeleton
~/projects/skeleton $ mkdir bin NAME tests docs

projects:用来存放我们自己的各个项目。
skeleton:新项目的基础目录。
NAME:是新项目的主文件夹。
接下来我们要配置一些初始文件:

~/projects/skeleton $ touch NAME/__init__.py 
~/projects/skeleton $ touch tests/__init__.py

以上命令为你创建了空的模组目录,以供你后面为其添加代码。然后我们需要建 立一个setup.py文件,这个文件在安装项目的时候我们会用到它:

try:
from setuptools import setup
except ImportError:
from distutils.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': ['NAME'],
'scripts': [],
'name': 'projectname'
}

setup(**config)

最后你需要一个简单的测试专用的骨架文件叫test/NAME_tests.py:

from nose.tools import *
import NAME

def setup():
    print "SETUP!"
def teardown():
    print "TEAR DOWN!"
def test_basic(): 
    print "I RAN!"

Python 软件包的安装

你需要预先安装以下软件包:

  1. pip – http://pypi.python.org/pypi/pip
  2. distribute – http://pypi.python.org/pypi/distribute
  3. nose – http://pypi.python.org/pypi/nose/
  4. virtualenv – http://pypi.python.org/pypi/virtualenv

第一步:安装pip
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。
Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。
pip 官网:https://pypi.org/project/pip/
你可以通过以下命令来判断是否已安装:

pip --version

pip 最常用命令

显示版本和路径

pip --version

获取帮助

pip --help

升级 pip

pip install -U pip

卸载包

pip uninstall SomePackage

搜索包

pip search SomePackage

显示安装包信息

pip show

列出已安装的包

pip list

第二步:

pip install distribute
pip install nose//使用pip命令安装 nose在后面测试的时候会有问题
pip install virtualenv

测试你的配置:

安装了所有上面的软件包以后,你就可以做下面的事情了:

~/projects/skeleton $ nosetests

可能会遇到以下问题:

-bash: nosetests: command not found

解决方案:

easy_install nose//使用easy_install命令安装nose

参考:http://www.runoob.com/w3cnote/python-pip-install-usage.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。