[关闭]
@songying 2018-11-27T21:21:56.000000Z 字数 1140 阅读 1337

python仓库结构

python


参考: https://pythonguidecn.readthedocs.io/zh/latest/writing/structure.html
github: https://github.com/kennethreitz/samplemod

python文件头部

  1. #! /usr/bin/env python
  2. # -*- coding: utf-8 -*-

导入问题

当我们的项目中涉及到复杂的导入问题时, 可以使用PYTHONPATH来讲该项目地址放到python的搜索路径中。

具体方式在.zshrc中添加如下代码:

  1. export PROJECT_PATH="/root/UGCRobot"
  2. export PYTHONPATH=${PROJECT_PATH}

仓库的结构

  1. - README.rst
  2. - LICENSE
  3. - setup.py
  4. - MANIFEST.in
  5. - tox.ini
  6. - requirements.txt
  7. - sample/
  8. -- __init__.py
  9. -- __version__.py
  10. -- core.py
  11. -- helpers.py
  12. - docs/
  13. -- conf.py
  14. -- index.rst
  15. - tests/
  16. -- test_basic.py
  17. -- test_advanced.py
  18. - examples/
  19. -- hello.py

setup.py

一个漂亮的setup.py结构,可以参考仓库: https://github.com/kennethreitz/setup.py

MANIFEST.in

列出所有在你的包中需要包含进来的非源码文件

  1. include *.txt
  2. recursive-include examples *
  3. recursive-include Doc *

Requirements 文件

一个 pip requirements file 应该放在仓库的根目录。它应该指明完整工程的所有依赖包: 测试, 编译和文档生成。

如果您的工程没有任何开发依赖,或者您喜欢通过 setup.py 来设置,那么这个文件不是必须的。

sample

Documentation

作用: 包的参考文档

tests

作用: 包的集合和单元测试

当然,这些测试例子需要导入您的包来进行测试,有几种方式来处理:

  1. 将您的包安装到site-packages中。
  2. 通过简单直接的路径设置来解决导入的问题。
    我极力推荐后者.

可以先创建一个包含上下文环境的文件 tests/context.py。 file:

  1. import os
  2. import sys
  3. sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
  4. import sample

然后, 我们在每一个测试文件中导入:

  1. from .context import sample
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注