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

目录
  • python如何建立一个自己的包
    • 一些概念
    • 如何建立(示例)
  • 导入自己写好的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文件


此时表示导入成功

总结

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

(0)

相关推荐

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

    目录 python如何建立一个自己的包 一些概念 如何建立(示例) 导入自己写好的python包 实例 总结 python如何建立一个自己的包 一些概念 模块:我们写的每个py都是一个模块 包:模块的集合,就是一个包,通常包和directory的区别在于是否有__init__.py init.py:它可以空着,标识该目录为包:也可以写一些方法和变量(不建议写):还可以用__all__=[""]来限制 from xxx import * 引入哪些模块 如何建立(示例) 目标: 我们要建立

  • python中封包建立过程实例

    在python的变量使用中,有时候会赋予多个值一起使用,相信很多人一般都是添加一个值,对于这种多个赋值还没有接触过,其实这是python高级里的封包使用,我们在下面会进行简单的介绍,并解释建立封包的具体方法和带来实例代码的展示,大家一起来看看封包的有关内容吧. 1.说明 将多个值赋值给一个变量时,python会自动将这些值封装成元组,这个特性称之为封包. 2.建立封包 (1)专案文件夹 主程序.py 封包文件夹 (2)__init__.py 模块一.py 模块二.py __init__.py 是

  • 在Python中等距取出一个数组其中n个数的实现方式

    应用场景: 实验中不断得到新数据,想将数据图形化,但随着时间推移,数据越来越多, 此时需要我们等距选择数据列表中固定数量的数据,来进行图形化. 注:保留首尾数据. import numpy as np a = np.arange(0, 10) b = np.arange(0, 15) c = np.arange(0, 20) d = np.arange(0, 30) e = np.arange(10, 40) f = np.arange(0, 100) def pick_arange(arang

  • Python中实现输入一个整数的案例

    我就废话不多说了,大家还是直接看代码吧! #! usr/bin/python3.5 # -*- coding:utf-8 -*- a = input("请输入一个整数:") #python中input函数输出的是一个字符串,而只有通过int进行强制转换 a = int(a) b = input("请输入一个整数:") b = int(b) """ divmod()函数用法 def divmod(x, y): # known case o

  • 在python中实现导入一个需要传参的模块

    最近跑实验,遇到了一个问题: 由于实验数据集比较多,每次跑完一个数据集就需要手动更改文件路径,再将文件传到服务器,再运行实验,这样的话效率很低,必须要专门看着这个实验,啥时候跑完就手动修改运行下一个实验.我个人无法忍受这样低效率,就想能不能有什么解决的办法. 我们期望的解决办法是通过命令行传参来解决这个问题,因为接下来是需要编写shell脚本来批量运行实验,如果用输入语句的方式显得太笨拙. 在编写实验代码的时候,我将所有的参数集中到一个py文件中,这样便于后期的维护,现在的问题就是需要通过命令行

  • Python中使用语句导入模块或包的机制研究

    这篇文章讨论了Python的from <module> import *和from <package> import *,它们怎么执行以及为什么使用这种语法(也许)是一个坏主意. 从一个模块导入全部 from <module> import * means意味着"我希望能访问<module>中我有权限访问的全部名称".例如以下代码something.py: # something.py public_variable = 42 _priv

  • Python中每次处理一个字符的5种方法

    目的 对字符串的每个字符进行处理,其实每个字符(Char)就是一个长度为1的字符串. 方法 1.使用内建函数list() 复制代码 代码如下: >>> A_string='Python' >>> char_list=list(A_string) >>> char_list ['P', 'y', 't', 'h', 'o', 'n'] 2.使用for语句对字符串进行遍历 复制代码 代码如下: >>> for c in A_string:

  • 如何在python中执行另一个py文件

    使用命令:os.system('python file_name.py') 解释:os.system是执行当前的系统命令 1.拿windows系统举例: # 由于ipconfig/all在windows中是查看ip地址 # 所以将此命令运行在os.system中,即可查看系统的ip地址等信息 import os os.system('ipconfig/all') # 因为python file_name.py可以直接执行py文件 # 所以可以通过os.system来执行py代码 import o

  • python中创建一个包并引用使用的操作方法

    一.Python包 python包在开发中十分常见,一般通过导入包含特定功能的python模块包进行使用.当然,也可以自己创建打包模块,然后发布,安装使用. 1.安装包 在线安装包:pip install 包名:安装第三方包:python setup.py  install (几乎每个python第三方包中都有这个setup.py文件,这个文件是作者打包时设置的文件,而安装第三方包时,也是要先进入到setup.py文件所在目录,然后执行python setup.py install) 2.dis

  • Python中的变量赋值

    目录 1 变量.对象.引用 2 对象的垃圾回收机制 3 变量所指向的对象不同会有何不同? 引言: Python中的变量在使用中很流畅,可以不关注类型,任意赋值,对于开发来说效率得到了提升,但若不了解其中的机理,往往也会犯一些小错,让开发进行的不那么流畅,本文就是从语言设计和底层原理的角度,带大家理解Python中的变量. 下面我们从一个简单例子开始: a = 3 当我们代码中写入a=3时到底发生了啥,从概念上来说,Python会执行三个不同的步骤来完成这个请求: 创建了一个对象来代表值3 若是a

随机推荐