安裝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>

安裝完成後需要配置環境變量,配置環境變量的方法見百度,嘻嘻。這樣我們就可以在任意的路徑下使用這些包的功能。環境變量設置 (百度)

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