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

 更新时间:2023年02月17日 10:50:14   作者:南波兔不写巴哥  
这篇文章主要介绍了在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文件


此时表示导入成功

总结

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

相关文章

  • 浅谈pandas中对nan空值的判断和陷阱

    浅谈pandas中对nan空值的判断和陷阱

    这篇文章主要介绍了浅谈pandas中对nan空值的判断和陷阱,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python实现网站的模拟登录

    python实现网站的模拟登录

    这篇文章主要介绍了python实现网站的模拟登录的相关资料,通过自己构造post数据来用Python实现登录过程,需要的朋友可以参考下
    2016-01-01
  • python实时监控logstash日志代码

    python实时监控logstash日志代码

    这篇文章主要介绍了python实时监控logstash日志代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 在Python操作时间和日期之asctime()方法的使用

    在Python操作时间和日期之asctime()方法的使用

    这篇文章主要介绍了在Python操作时间和日期之asctime()方法的使用,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python进程间通讯与进程池超详细讲解

    Python进程间通讯与进程池超详细讲解

    进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块主要通过队列方式,队列:队列类似于一条管道,元素先进先出,需要注意的一点是:队列都是在内存中操作,进程退出,队列清空,另外,队列也是一个阻塞的形态
    2022-12-12
  • python使用opencv切割图片白边

    python使用opencv切割图片白边

    这篇文章主要为大家详细介绍了python使用opencv切割图片的白边,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一
    2021-09-09
  • python如何将mat文件转为png

    python如何将mat文件转为png

    这篇文章主要介绍了python如何将mat文件转为png,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Python打包文件执行报错:ModuleNotFoundError: No module named ‘pymssql‘的解决方法

    Python打包文件执行报错:ModuleNotFoundError: No module 

    这篇文章给大家介绍了Python打包文件执行报错:ModuleNotFoundError: No module named ‘pymssql‘的解决方法,如果有遇到相同问题的朋友可以参考阅读一下本文
    2023-10-10
  • Python api构建tensorrt加速模型的步骤详解

    Python api构建tensorrt加速模型的步骤详解

    小编个人认为python比c++更容易读并且已经有很多包装很好的科学运算库(numpy,scikit等),今天通过本文给大家分享Python api构建tensorrt加速模型的步骤,感兴趣的朋友一起看看吧
    2021-09-09
  • pytorch使用horovod多gpu训练的实现

    pytorch使用horovod多gpu训练的实现

    这篇文章主要介绍了pytorch使用horovod多gpu训练的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论