https://blog.csdn.net/luo123n/article/details/49849649

http://blog.habnab.it/blog/2013/07/21/python-packages-and-you/

demo project

本文以一个demo project为例,来介绍python的包管理机制。

这个demo project我放到github上了:地址点我

其中,项目根目录有三个文件夹:

  • data:存放项目数据
  • doc:存放项目文档
  • package:一个demo python package

其中,package中的文件结构如下图: 

python package

基础知识

当你import的时候,python只会在sys.path这个变量(一个list,你可以print出来看)里面的路径中找可能匹配的package和module。

而一个package跟一个普通文件夹的区别在于,package的文件夹中多了一个__init__.py文件。换句话说,如果你在某个文件夹中添加了一个__init__.py文件,则python就认为这个文件夹是一个package。

__init__.py文件可以是空的(也推荐者这么做),它只是告诉python当前文件夹是一个package。当然,也可以在里面添加一些代码,这些代码会在import这个包的时候运行。

所以,请确保你要import的文件所在的文件夹有__init__.py文件(除非它在sys.path中某个文件夹下)。

最新文章

  1. 从linux0.11中起动部分代码看汇编调用c语言函数
  2. 跟随Rodolfo进入VR时代!
  3. redis如何安装
  4. You should blog even if you have no readers
  5. AD组策略添加本地账号、设置允许ping回显
  6. Eclipse代码自动提示
  7. RSA加密解密操作
  8. XSS跨站脚本攻击在Java开发中防范的方法
  9. 学习Swift -- 错误处理
  10. PHP程序员衰老后的下场
  11. LeetCode 370. Range Addition (范围加法)$
  12. Android开发之漫漫长途 Ⅵ——图解Android事件分发机制(深入底层源码)
  13. IDEA热部署(一)---解析关键配置。
  14. C#多线程与并行编程方面的电子书,中英文版本
  15. Rocketlab公司火箭Electron介绍
  16. WebHttpRequest在sharepoint文档库中的使用
  17. 【HTML5】HTML5的自学路线
  18. C++/C 宏定义(define)中# ## 的含义 宏拼接
  19. Codeforces 691C. Exponential notation 模拟题
  20. IDEA 导出maven项目所有的依赖包到指定的目录

热门文章

  1. redis使用epoll
  2. Oracle awr报告生成操作步骤
  3. xmanager运行报错:bash: /usr/bin/xterm: No such file or directory
  4. qml 设置tooltip,Customizing ToolTip
  5. 使用Postman在Chrome下进行rest请求测试
  6. day06 元组类型
  7. Dev-cpp怎样去掉括号匹配?
  8. UVa LA 3882 - And Then There Was One 递推,动态规划 难度: 2
  9. Oracle Rman 控制RMAN的备份时间,减少IO消耗
  10. 搭建Hadoop2.7.1的分布式集群