利用setuptools打包python程序的方法步骤

作者:风间悠香 时间:2023-07-20 08:57:47 

一、准备工程文件

1.创建工程leeoo

利用setuptools打包python程序的方法步骤

2.在工程根目录下创建setup.py文件

利用setuptools打包python程序的方法步骤

3.在工程根目录下创建同名package

利用setuptools打包python程序的方法步骤

二、编辑setup.py

1.编辑setup.py文件


from setuptools import setup, find_packages

setup(
 name='leeoo', # 包的名称
 version='1.0', # 版本号
 packages=find_packages(), # 动态获取packages
 description="leeoo package",
 author='Leo',
 author_email='leo4774177@gmail.com',
 url="None",
)

2.参数说明

利用setuptools打包python程序的方法步骤

三、编写测试代码

1.在leeoo package下创建pkg

利用setuptools打包python程序的方法步骤

2.test.py文件内容


def testfunc():
 print("This is a test function..")

class TestClass(object):
 def __init__(self, name):
   self.name = name
   print("This is a test Class..")

def get_name(self):
   return self.name

3.将test.py中的内容全部导入到leeoo的__init__.py中

利用setuptools打包python程序的方法步骤

这样,以后import leeoo后,就可以直接使用leeoo.testfunc()了。

四、打包

1.命令行进入工程根目录

利用setuptools打包python程序的方法步骤

2.运行命令


(venv) D:\pycharm_workspace\leeoo>python setup.py check
running check

(venv) D:\pycharm_workspace\leeoo>python setup.py bdist_egg
running bdist_egg
running egg_info
creating leeoo.egg-info
writing leeoo.egg-info\PKG-INFO
writing dependency_links to leeoo.egg-info\dependency_links.txt
writing top-level names to leeoo.egg-info\top_level.txt
writing manifest file 'leeoo.egg-info\SOURCES.txt'
reading manifest file 'leeoo.egg-info\SOURCES.txt'
writing manifest file 'leeoo.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build
creating build\lib
creating build\lib\leeoo
copying leeoo\__init__.py -> build\lib\leeoo
creating build\bdist.win-amd64
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\leeoo
copying build\lib\leeoo\__init__.py -> build\bdist.win-amd64\egg\leeoo
byte-compiling build\bdist.win-amd64\egg\leeoo\__init__.py to __init__.cpython-37.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist\leeoo-1.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)

3.查看生成的文件

在工程根目录下,可以看到生成了一系列文件:

利用setuptools打包python程序的方法步骤

五、安装leeoo

1.在工程目录下(setup.py所在目录)运行命令


D:\pycharm_workspace\leeoo>python setup.py install
running install
running bdist_egg
running egg_info
writing leeoo.egg-info\PKG-INFO
writing dependency_links to leeoo.egg-info\dependency_links.txt
writing top-level names to leeoo.egg-info\top_level.txt
reading manifest file 'leeoo.egg-info\SOURCES.txt'
writing manifest file 'leeoo.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\leeoo
copying build\lib\leeoo\__init__.py -> build\bdist.win-amd64\egg\leeoo
byte-compiling build\bdist.win-amd64\egg\leeoo\__init__.py to __init__.cpython-37.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying leeoo.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist\leeoo-1.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing leeoo-1.0-py3.7.egg
Copying leeoo-1.0-py3.7.egg to d:\dev_apps\anaconda5.3.0\lib\site-packages
Adding leeoo 1.0 to easy-install.pth file

Installed d:\dev_apps\anaconda5.3.0\lib\site-packages\leeoo-1.0-py3.7.egg
Processing dependencies for leeoo==1.0
Finished processing dependencies for leeoo==1.0

2.查看安装好的文件

我们看到上述打印日志中,将leeoo-1.0-py3.7.egg安装到了d:\dev_apps\anaconda5.3.0\lib\site-packages。

利用setuptools打包python程序的方法步骤

六、使用leeoo

新建一个项目,然后导入leeoo:


import leeoo

leeoo.testfunc()
obj = leeoo.TestClass("demo")
print(obj.get_name())

也可以使用:


from leeoo.pkg import test

test.testfunc()
obj = test.TestClass("demo")
print(obj.get_name())

当然也可以直接将testfunc()和TestClass导入,但是容易引起命名冲突。

来源:https://www.cnblogs.com/leokale-zz/p/12207923.html

标签:setuptools,打包,python
0
投稿

猜你喜欢

  • 使用opencv-python如何打开USB或者笔记本前置摄像头

    2021-05-18 08:24:52
  • 跟老齐学Python之for循环语句

    2021-12-22 04:52:50
  • 详解从vue的组件传值着手观察者模式

    2024-05-10 14:19:01
  • python中bottle使用实例代码

    2023-07-03 14:21:15
  • Python中Django发送带图片和附件的邮件

    2023-11-09 16:59:03
  • python模型集成知识点总结

    2023-08-03 00:16:16
  • Python 通过pip安装Django详细介绍

    2022-09-01 20:25:55
  • ubuntu 16.04下python版本切换的方法

    2021-07-10 16:36:04
  • Python 数据类型--集合set

    2021-11-23 21:17:54
  • python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例

    2021-12-21 19:37:29
  • SQL Server SA权限最新入侵方法

    2009-03-25 16:56:00
  • python+opencv实现文字颜色识别与标定功能

    2023-09-05 02:25:27
  • python 七种邮件内容发送方法实例

    2022-01-13 21:06:38
  • ASP 内建六大对象简介

    2009-06-04 18:08:00
  • 关于Pytorch中模型的保存与迁移问题

    2023-08-11 04:05:25
  • 创意设计:字母趣味组合

    2008-01-26 18:50:00
  • python安装及变量名介绍详解

    2023-09-24 19:23:20
  • mysql命令提示行连接乱码的解决

    2024-01-14 11:05:20
  • 总结showModalDialog和showModelessDialog用法

    2007-11-24 08:26:00
  • PyCharm-错误-找不到指定文件python.exe的解决方法

    2022-04-20 00:48:10
  • asp之家 网络编程 m.aspxhome.com