如何创建一个简单但是比较规范的python工程目录,本文是学习了Learn Python the Hard Way相关内容后做的一些笔记。
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环境
$ cd workspace
$ mkdir myproject
$ cd myproject/ $ mkdir bin mymodule tests docs
$ 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!"
myproject/
mymodule/
__init__.py
bin/
docs/
tests/
mymodule_tests.py
__init__.py
setup.py
(可以在终端输入命令ls –R查看)
最后可以在工程目录myproject下输入nosetests进行测试 $ nosetests ( 此处一定要注意,在工程目录下执行nosetests,否则无法自动检测到要执行的测试用例)
$ 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 # 将所需的第三方包的版本写入到指定的文件中,以便日后恢复
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
1. 在工程目录下myproject创建tests文件夹 2. 在tests文件夹中创建以moudule_tests.py (以_tests结尾)命名的测试脚本 3. 在moudule_tests.py中创建test_method()方法(以test开头) 4. 在工程目录下运行nosetests,就可以自动搜索并测试以test命名的方法