发布时间:2019-09-15 09:56:12编辑:auto阅读(1591)
如何创建一个简单但是比较规范的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命名的方法
上一篇: python去除扩展名
下一篇: Python调用PHP的函数
47846
46397
37285
34736
29317
25974
24918
19952
19548
18031
5794°
6419°
5930°
5963°
7066°
5912°
5947°
6440°
6405°
7782°