Python实现封装打包自己写的代码,被python import

1.新建一个文件夹example,里面放入要打包的.py文件,以及必需的_init_.py.

代码如下:

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 1 17:04:02 2018

@author: Jo
"""
#!/usr/bin/env python
#-*- coding:utf-8 -*-

def run():
  print ('This is a run package!')
if __name__ == '__main__':

   run()

内部代码无需修改。

2.与文件夹同目录放入必需的setup.py文件。

代码如下:

from setuptools import find_packages,setup
setup(
  name = 'face_API',
  version = '0.1',
  packages = find_packages(),
)

注意:name=自己代码.py

3.在anaconda prompt中cd到指定文件夹目录,输入python setup.py install 完成!

tree如图:

现在打开python import试试吧!

补充知识:手把手教你自己写一个Python模块,并将其发布并安装到自己的Python环境中去

首先得说明一点,python的模块就是有一些.py文件所构成的,所以要想写一个模块,自己得先写一些python程序,我这里就写一个module1.py

1.接下来,就是先建立一个文件夹my_package,将自己写的.py文件放到这个文件夹下面,并且在同级目录同时创建一个__init__.py文件

2.在my_package的同级目录下面建立一个setup.py文件

文件内容如下:from distutils.core import setup

setup(name='压缩包的名字',version='1.0',author='作者',pymodules=['my_package.module1'])

注意:要是你写了多个.py文件的时候,按列表里的格式继续写在后面就行了。完了之后保存退出。

好了,现在看一下目录结构(用命令tree),确认没问题的话就继续之后的操作。

3.构建模块:python3 setup.py build,可以在看一下目录结构,可以发现多了一项build。

4.生成发布压缩包:python3 setup.py sdist,完了之后可以在看一下目录结构,可以发现多了一个压缩文件。

5.建议先将这个压缩包放到一个‘干净'的目录下面,方便自己查看,完了之后解压

6.解压之后执行:python3 setup.py install,安装到自己的Python目录下面。

7.好了,大功告成,接下来自己可以试着导入一下自己写的模块了,嘻嘻,博主我用的是ipython交互环境,导入自己写的 一个判断一个字符串是否为空的函数isnull(),可以看到,导入成功并成功调用,哈哈哈,美滋滋。这可是博主自己写的第一个模块哟,你也试试吧!哈哈~~

以上这篇Python实现封装打包自己写的代码,被python import就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 打包发布Python模块的方法详解

    前言 昨天把自己的VASP文件处理库进行了打包并上传到PyPI,现在可以直接通过pip和easy_install来安装VASPy啦(同时欢迎使用VASP做计算化学的童鞋们加星和参与进来), VASPy的GotHub地址:https://github.com/PytLab/VASPy VASPy的PyPI地址:https://pypi.python.org/pypi/vaspy/ 由于自己的记性真是不咋地,怕时间久了就忘了,于是在这里趁热打铁以自己的VASPy程序为例对python的打包和上传进行

  • Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解

    wheel文件 Wheel和Egg都是python的打包格式,目的是支持不需要编译或制作的安装过程,实际上也是一种压缩文件,将.whl的后缀改为.zip即可可看到压缩包里面的内容.按照官网说法,wheels是发行版Python的新标准并且要取代.egg. Egg格式是由setuptools在2004年引入,而Wheel格式是由PEP427在2012年定义. Wheel现在被认为是Python的二进制包的标准格式. 以下是Wheel和Egg的主要的不同点: Wheel有一个官方的PEP427来定义

  • Python模块的制作方法实例分析

    本文实例讲述了Python模块的制作方法.分享给大家供大家参考,具体如下: 1 目的 利用setup.py将框架安装到python环境中,作为第三方模块来调用, 2 第一步:完成setup.py的编写 以下代码相当于一个模板,只用更改name字段出,改为对应的需要安装的模块名称就可以,比如这里是:py_plus 将setup.py文件放到py_plus的同级目录下 from os.path import dirname, join # from pip.req import parse_requ

  • Python实现封装打包自己写的代码,被python import

    1.新建一个文件夹example,里面放入要打包的.py文件,以及必需的_init_.py. 代码如下: # -*- coding: utf-8 -*- """ Created on Thu Nov 1 17:04:02 2018 @author: Jo """ #!/usr/bin/env python #-*- coding:utf-8 -*- def run(): print ('This is a run package!') if __

  • 微软开源最强Python自动化神器Playwright(不用写一行代码)

    相信玩过爬虫的朋友都知道selenium,一个自动化测试的神器工具.写个Python自动化脚本解放双手基本上是常规的操作了,爬虫爬不了的,就用自动化测试凑一凑. 虽然selenium有完备的文档,但也需要一定的学习成本,对于一个纯小白来讲还是有些门槛的. 最近,微软开源了一个项目叫「playwright-python」,简直碉堡了!这个项目是针对Python语言的纯自动化工具,连代码都不用写,就能实现自动化功能. 可能你会觉得有点不可思议,但它就是这么厉害.下面我们一起看下这个神器. 1. Pl

  • python数据抓取分析的示例代码(python + mongodb)

    本文介绍了Python数据抓取分析,分享给大家,具体如下: 编程模块:requests,lxml,pymongo,time,BeautifulSoup 首先获取所有产品的分类网址: def step(): try: headers = { ..... } r = requests.get(url,headers,timeout=30) html = r.content soup = BeautifulSoup(html,"lxml") url = soup.find_all(正则表达式

  • python+matplotlib实现动态绘制图片实例代码(交互式绘图)

    本文研究的主要是python+matplotlib实现动态绘制图片(交互式绘图)的相关内容,具体介绍和实现代码如下所示. 最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和matplotlib实现路径的动态显示和交互式绘图(和Matlab功能类似). Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统

  • 如何用C代码给Python写扩展库(Cython)

    之前一篇文章里提到了利用Cython来编译Python,这次来讲一下如何用Cython给Python写扩展库. 两种语言混合编程,其中最重要的是类型的传递. 我们用一个简单的例子进行入门:这次的目标是用C语言写一个Numpy的加法和元素相乘模块.在本例中,Numpy的array被传入到C语言模块内,变成了二维数组. 1. 头文件main.h: #ifndef _MAIN_H #define _MAIN_H void plus(double *a, double *b, double *r, in

  • 500行代码使用python写个微信小游戏飞机大战游戏

    这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手. 帮助蹲厕族.YP族.饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右手有节奏有韵律的朝着同一个方向来回移动起来! 这是史诗级的发明,是浓墨重彩的一笔,是-- 在一阵抽搐后,我结束了游戏,瞬时觉得一切都索然无味,正在我进入贤者模式时,突然想到,如果我可以让更多人已不同的方式体会到这种美轮美奂的感觉岂不美哉? 所以我打开电脑,创建了一个 plan_game.py-- 先

  • python中如何打包用户自定义模块

    假设需要打包的模块文件名为my.py,打包模块需要新建的一个脚本setip.py,然后在脚本下输入如下的内容: from disutils.core import setup setup{name = 'my',version = '1.0',py_modules = ['my']} 以管理员身份运行cmd,进入my.py的目录,执行下面的命令即可打包: python setup.py sdist 运行后在该目录下方出现一个文件夹dist,进入这个文件夹,会出现一个my-1.0.zip文件. 将

  • 用python做一个搜索引擎(Pylucene)的实例代码

    1.什么是搜索引擎? 搜索引擎是"对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分".如图1是搜索引擎的一般结构,信息搜集模块从网络采集信息到网络信息库之中(一般使用爬虫):然后信息整理模块对采集的信息进行分词.去停用词.赋权重等操作后建立索引表(一般是倒排索引)构成索引库:最后用户查询模块就可以识别用户的检索需求并提供检索服务啦. 图1 搜索引擎的一般结构 2. 使用python实现一个简单搜索引擎 2.1 问题分析 从图1看,一个完整的搜索

  • Go/Python/Erlang编程语言对比分析及示例代码

    本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性,不过最主要的原因是这几个我比较熟悉. Go的很多语言特性借鉴与它的三个祖先:C,Pascal和CSP.Go的语法.数据类型.控制流等继承于C,Go的包.面对对象等思想来源于Pascal分支,而Go最大的语言特色,基于管道通信的协程并发模型,则借鉴于CSP分支. Go/Python/Erlang语言特性对比 如<编程语言与范式>一文所说,不管语言如何层出不穷

  • Python中用pyinstaller打包时的图标问题及解决方法

    前言 因为昨天重新研究了下python的打包方法,今天一番准备把之前写的一个pdf合并软件重新整理一下,打包出来. 但在打包的过程中仍然遇到了一些问题,半年前一番做打包的时候也遇到了一些问题,现在来看,解决这些问题思路清晰多了,这里记录下. 问题 打包成功,但运行时提示Failed to execute script xxx.这里又分很多种原因,这时不要用-w打包,然后在终端.\xxx.exe的方式运行,就可以看到输出日志了. 原因一 D:\02-python\2019-09-30_pdf_op

随机推荐