在python中如何建立一个自己的包
南波兔不写巴哥 人气:0python如何建立一个自己的包
一些概念
- 模块:我们写的每个py都是一个模块
- 包:模块的集合,就是一个包,通常包和directory的区别在于是否有__init__.py
- init.py:它可以空着,标识该目录为包;也可以写一些方法和变量(不建议写);还可以用__all__=[""]来限制 from xxx import * 引入哪些模块
如何建立(示例)
目标: 我们要建立ansemb包,作为一个工具包,供其他py依赖,是以下的结构
- 其中test要引入同目录下的test2
- 其中dataset中不能暴露test2
|--try |--ansemb |--dataset |--test.py |--test2.py |--__init__.py |--config.py |--__init__.py
- 首先,我们建立 文件夹ansemb;创建config.py;创建空的__init__.py
- 然后,就创建 文件夹dataset;创建test2.py;创建__init__.py,在其中键入__all__=["test"],进行约束
- 之后来实现test引入test2,这里使用相对路径进行引入
导入自己写好的python包
- 1、建立自己的setup.py文件
- 2、将setup.py文件和写好的python包放到anaconda根目录下
- 3、在根目录下cmd运行python setup.py install
- 4、会在根目录下生成build文件,内部有lib->(自己写的python包)
实例
我导入的是这篇论文中的代码
《Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction》
setup.py长这样:
我将导入deepst文件中的包,以方便在后续运行中的调用
先将其中deepst文件和setup.py文件放入我anaconda安装的路径下
(这里我创建了虚拟环境,所以直接装在虚拟环境里面)
在此路径下cmd 运行
python setup.py install
则会出现一个build文件
此时表示导入成功
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容