安装pip,distribute,nose和virtualenv

我们开始进行项目制作后,就要开始将各种环境安装好,正所谓“工欲善其事必先利其器”,这是进行项目之前必不可少的一步。

  • 离线安装
  1. pip from http://pypi.python.org/pypi/pip
  2. distribute from http://pypi.python.org/pypi/distribute
  3. nose from http://pypi.python.org/pypi/nose
  4. virtualenv from http://pypi.python.org/pypi/virtualenv

分别将这些包在对应网站下载下来(注意是压缩包类型的),在本地解压完成后,开始进行安装。在Powershell上安装过程中,路径是要在解压后的文件中。输入指令python setup.py install ,进行离线安装。
示例(nose的安装):

PS C:\Users\15222\test\nose-1.3.7> python setup.py install
running install
running bdist_egg
running egg_info
writing nose.egg-info\PKG-INFO
writing top-level names to nose.egg-info\top_level.txt
writing dependency_links to nose.egg-info\dependency_links.txt
writing entry points to nose.egg-info\entry_points.txt
reading manifest file 'nose.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'doc\.build'
writing manifest file 'nose.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\nose
copying build\lib\nose\case.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\commands.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\config.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\core.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\exc.py -> build\bdist.win-amd64\egg\nose
creating build\bdist.win-amd64\egg\nose\ext
copying build\lib\nose\ext\dtcompat.py -> build\bdist.win-amd64\egg\nose\ext
copying build\lib\nose\ext\__init__.py -> build\bdist.win-amd64\egg\nose\ext
copying build\lib\nose\failure.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\importer.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\inspector.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\loader.py -> build\bdist.win-amd64\egg\nose
creating build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\allmodules.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\attrib.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\base.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\builtin.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\capture.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\collect.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\cover.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\debug.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\deprecated.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\doctests.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\errorclass.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\failuredetail.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\isolate.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\logcapture.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\manager.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\multiprocess.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\plugintest.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\prof.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\skip.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\testid.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\xunit.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\plugins\__init__.py -> build\bdist.win-amd64\egg\nose\plugins
copying build\lib\nose\proxy.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\pyversion.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\result.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\selector.py -> build\bdist.win-amd64\egg\nose
creating build\bdist.win-amd64\egg\nose\sphinx
copying build\lib\nose\sphinx\pluginopts.py -> build\bdist.win-amd64\egg\nose\sphinx
copying build\lib\nose\sphinx\__init__.py -> build\bdist.win-amd64\egg\nose\sphinx
copying build\lib\nose\suite.py -> build\bdist.win-amd64\egg\nose
creating build\bdist.win-amd64\egg\nose\tools
copying build\lib\nose\tools\nontrivial.py -> build\bdist.win-amd64\egg\nose\tools
copying build\lib\nose\tools\trivial.py -> build\bdist.win-amd64\egg\nose\tools
copying build\lib\nose\tools\__init__.py -> build\bdist.win-amd64\egg\nose\tools
copying build\lib\nose\twistedtools.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\usage.txt -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\util.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\__init__.py -> build\bdist.win-amd64\egg\nose
copying build\lib\nose\__main__.py -> build\bdist.win-amd64\egg\nose
byte-compiling build\bdist.win-amd64\egg\nose\case.py to case.pyc
byte-compiling build\bdist.win-amd64\egg\nose\commands.py to commands.pyc
byte-compiling build\bdist.win-amd64\egg\nose\config.py to config.pyc
byte-compiling build\bdist.win-amd64\egg\nose\core.py to core.pyc
byte-compiling build\bdist.win-amd64\egg\nose\exc.py to exc.pyc
byte-compiling build\bdist.win-amd64\egg\nose\ext\dtcompat.py to dtcompat.pyc
byte-compiling build\bdist.win-amd64\egg\nose\ext\__init__.py to __init__.pyc
byte-compiling build\bdist.win-amd64\egg\nose\failure.py to failure.pyc
byte-compiling build\bdist.win-amd64\egg\nose\importer.py to importer.pyc
byte-compiling build\bdist.win-amd64\egg\nose\inspector.py to inspector.pyc
byte-compiling build\bdist.win-amd64\egg\nose\loader.py to loader.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\allmodules.py to allmodules.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\attrib.py to attrib.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\base.py to base.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\builtin.py to builtin.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\capture.py to capture.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\collect.py to collect.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\cover.py to cover.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\debug.py to debug.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\deprecated.py to deprecated.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\doctests.py to doctests.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\errorclass.py to errorclass.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\failuredetail.py to failuredetail.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\isolate.py to isolate.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\logcapture.py to logcapture.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\manager.py to manager.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\multiprocess.py to multiprocess.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\plugintest.py to plugintest.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\prof.py to prof.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\skip.py to skip.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\testid.py to testid.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\xunit.py to xunit.pyc
byte-compiling build\bdist.win-amd64\egg\nose\plugins\__init__.py to __init__.pyc
byte-compiling build\bdist.win-amd64\egg\nose\proxy.py to proxy.pyc
byte-compiling build\bdist.win-amd64\egg\nose\pyversion.py to pyversion.pyc
byte-compiling build\bdist.win-amd64\egg\nose\result.py to result.pyc
byte-compiling build\bdist.win-amd64\egg\nose\selector.py to selector.pyc
byte-compiling build\bdist.win-amd64\egg\nose\sphinx\pluginopts.py to pluginopts.pyc
byte-compiling build\bdist.win-amd64\egg\nose\sphinx\__init__.py to __init__.pyc
byte-compiling build\bdist.win-amd64\egg\nose\suite.py to suite.pyc
byte-compiling build\bdist.win-amd64\egg\nose\tools\nontrivial.py to nontrivial.pyc
byte-compiling build\bdist.win-amd64\egg\nose\tools\trivial.py to trivial.pyc
byte-compiling build\bdist.win-amd64\egg\nose\tools\__init__.py to __init__.pyc
byte-compiling build\bdist.win-amd64\egg\nose\twistedtools.py to twistedtools.pyc
byte-compiling build\bdist.win-amd64\egg\nose\util.py to util.pyc
byte-compiling build\bdist.win-amd64\egg\nose\__init__.py to __init__.pyc
byte-compiling build\bdist.win-amd64\egg\nose\__main__.py to __main__.pyc
installing package data to build\bdist.win-amd64\egg
running install_data
creating build\bdist.win-amd64\egg\man
creating build\bdist.win-amd64\egg\man\man1
copying nosetests.1 -> build\bdist.win-amd64\egg\man\man1
creating build\bdist.win-amd64\egg\EGG-INFO
copying nose.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying nose.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying nose.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying nose.egg-info\entry_points.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying nose.egg-info\not-zip-safe -> build\bdist.win-amd64\egg\EGG-INFO
copying nose.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
creating 'dist\nose-1.3.7-py2.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing nose-1.3.7-py2.7.egg
removing 'c:\python27\lib\site-packages\nose-1.3.7-py2.7.egg' (and everything under it)
creating c:\python27\lib\site-packages\nose-1.3.7-py2.7.egg
Extracting nose-1.3.7-py2.7.egg to c:\python27\lib\site-packages
nose 1.3.7 is already the active version in easy-install.pth
Installing nosetests-script.py script to C:\Python27\Scripts
Installing nosetests.exe script to C:\Python27\Scripts
Installing nosetests-2.7-script.py script to C:\Python27\Scripts
Installing nosetests-2.7.exe script to C:\Python27\Scripts

Installed c:\python27\lib\site-packages\nose-1.3.7-py2.7.egg
Processing dependencies for nose==1.3.7
Finished processing dependencies for nose==1.3.7
PS C:\Users\15222\test\nose-1.3.7>

表明安装成功。

  • nose是一个单元测试框架。

  • nose相关执行命令:

1、 nosetests –h查看所有nose相关命令

2、 nosetests –s执行并捕获输出

3、 nosetests –with-xunit输出xml结果报告

4、 nosetests -v: 查看nose的运行信息和调试信息

5、 nosetests -w 目录:指定一个目录运行测试

  • nose 特点:

a) 自动发现测试用例(包含T(t)est文件以及文件包中包含test的函数)

b) 以test开头的文件

c) 以test开头的函数或方法

d) 以Test开头的类

经过研究发现,nose会自动识别T(t)est的类、函数、文件或目录,以及TestCase的子类,匹配成功的包、任何python的源文件都会被当做测试用例。

其他离线安装包的方式同上。

  • pip安装完成后,可以管理我们的包。pip是一个包管理工具,它和setuptools类似。
  • virtualenv是一个Python环境配置和切换的工具,可以用它配置多个Python运行环境,和系统中的Python环境隔离,即所谓的沙盒。沙盒的好处包括:

解决库之间的版本依赖,比如同一系统上不同应用依赖同一个库的不同版本。 解决权限限制,比如你没有 root 权限。
尝试新的工具,而不用担心污染系统环境。

  • 在线安装
    安装完成pip之后使用指令pip install xxxxx就可以在线下载自己想要的各种包。
    示例(pprint使显示更加美观):
PS C:\Users\15222> pip install pprint
Collecting pprint
  Downloading https://files.pythonhosted.org/packages/99/12/b6383259ef85c2b942ab9135f322c0dce83fdca8600d87122d2b0181451f/pprint-0.1.tar.gz
Installing collected packages: pprint
  Running setup.py install for pprint ... done
Successfully installed pprint-0.1
PS C:\Users\15222>

安装完成后需要配置环境变量,配置环境变量的方法见百度,嘻嘻。这样我们就可以在任意的路径下使用这些包的功能。环境变量设置 (百度)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章