在python中如何建立一个自己的包

2023-02-17 12:02:49 python 自己的 建立一个

python如何建立一个自己的包

一些概念

  • 模块:我们写的每个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文件


此时表示导入成功

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章