在python中如何建立一个自己的包
作者:南波兔不写巴哥 发布时间:2022-12-27 12:42:25
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文件
此时表示导入成功
来源:https://blog.csdn.net/qq_34687559/article/details/122480540
猜你喜欢
- MySQL使用环境变量TMPDIR的值作为保存临时文件的目录的路径名。如果未设置TMPDIR,MySQL将使用系统的默认值,通常为/tmp、
- aspjpeg组件官方下载地址:http://www.persits.com/说明: 1、aspjpeg能对图片水印进行透明度调整
- 在数据库testDB中存在架构A及用户A,现将testDB数据库所属的用户由A改为B,同时删除用户A;架构也由A改为B,删除架构A,操作如下
- 主键表的主键(primary key,主关键字)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。一个表不能有多个主关键字,并且
- 本文实例讲述了php简单获取复选框值的方法。分享给大家供大家参考,具体如下:html:<form id="form1&quo
- 一、使用三种方法实现0-n累加求和定义函数分别使用while循环、for循环、递归函数实现对0-n的累加求和1、使用while循环定义一个累
- 很多人都使用很多的编程工具,尤其对于Web开发人员。这个小教程将告诉各位如何使DreamweaverMX编程环境适合中国的Web开发人员。一
- 判断函数如下:Public Function CheckBIG(strSource As String) As BooleanDim idx
- 先给出一个四人团对Decorator mode的定义:动态地给一个对象添加一些额外的职责。再来说说这个模式的好处:认证,权限检查,记日志,检
- 在最近一个项目中,表单验证需要对时间的起止范围进行判断:结束时间需大于或等于开始时间。即:结束年须大于起始年;如果相等,则比较起始月与结束月
- 在下面这3篇文章中我们给出了手工输入代码的信号与槽的使用方法,因为采用这种方法介绍时,会简单一些,如果使用Qt Designer来介绍这些功
- python time.sleep()-睡眠线程还是进程?它会阻止线程。如果查看Python源代码中的Modules / timemodul
- 工作中发现表单提交方便的问题,很多时候IE下提交好好的,打了火狐下就出现了问题,利用提交按钮就不成功了,于是利用JS的方式就成功了,也不知道
- 假设要生成一千万个随机数,常规的做法如下:var numbers = [];for (var&nbs
- 用Python+ChatGPT批量生成论文概述做算法研究离不开阅读大量论文。从海量论文中找到需要的论文往往耗费算法团队不少的精力。ChatG
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 15 - SlidersMooTools 1.2的
- 错误提示Invalid byte 1 of 1-byte UTF-8 sequence原因分析在中文版的window下java的默认的编码为
- 前言上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例,并输出我们想要看到的信息。那么今天会讲解一下pyte
- a {}{ background:url(images/normal.gif); } a:ho
- Expression定义 IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javascript表达式关联起来,这