@songying
2018-11-27T21:21:56.000000Z
字数 1140
阅读 1337
python
参考: https://pythonguidecn.readthedocs.io/zh/latest/writing/structure.html
github: https://github.com/kennethreitz/samplemod
#! /usr/bin/env python
# -*- coding: utf-8 -*-
当我们的项目中涉及到复杂的导入问题时, 可以使用PYTHONPATH来讲该项目地址放到python的搜索路径中。
具体方式在.zshrc中添加如下代码:
export PROJECT_PATH="/root/UGCRobot"
export PYTHONPATH=${PROJECT_PATH}
- README.rst
- LICENSE
- setup.py
- MANIFEST.in
- tox.ini
- requirements.txt
- sample/
-- __init__.py
-- __version__.py
-- core.py
-- helpers.py
- docs/
-- conf.py
-- index.rst
- tests/
-- test_basic.py
-- test_advanced.py
- examples/
-- hello.py
一个漂亮的setup.py结构,可以参考仓库: https://github.com/kennethreitz/setup.py
列出所有在你的包中需要包含进来的非源码文件
include *.txt
recursive-include examples *
recursive-include Doc *
一个 pip requirements file 应该放在仓库的根目录。它应该指明完整工程的所有依赖包: 测试, 编译和文档生成。
如果您的工程没有任何开发依赖,或者您喜欢通过 setup.py 来设置,那么这个文件不是必须的。
作用: 包的参考文档
作用: 包的集合和单元测试
当然,这些测试例子需要导入您的包来进行测试,有几种方式来处理:
- 将您的包安装到site-packages中。
- 通过简单直接的路径设置来解决导入的问题。
我极力推荐后者.
可以先创建一个包含上下文环境的文件 tests/context.py。 file:
import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
import sample
然后, 我们在每一个测试文件中导入:
from .context import sample