python 打包pip 以供其他项目import

为了让自己的项目能够很好的复用和管理,可以打包成pip来供自己或别人调用
这里提供简单易懂的打包成pip的方法

项目结构

在这里插入图片描述

先创建一个python项目文件夹myUtil_2
python项目必须有__init__.py文件(可为空),否则在打包pip时识别不出来

def init():
    print("这是__init__")

然后随便创建一个demo.py文件用于测试

def test():
    print("测试pip导入成功")

之后是关键文件setup.py

from distutils.core import setup
import setuptools

setup(name='myUtil-1',  # 打包后的包文件名(注意:这里是pip list中显示的名字 并不是import的名字)
      version='0.1.0',  # pip中显示的版本号
      description='xxx',  # 项目描述
      author='xxx',  # 作者名字
      author_email='xxxxxx@xxxxxxxx.xxx',  # 作者邮箱
      url='http://xxxxx',  # 作者项目地址
      packages=setuptools.find_packages()  # 打包的包真正要import的包 需要创建文件夹里面必须有__init__.py(可为空)
      )

以PyCharm为例 打开Terminal 输入下面命令,开始生成tar.gz包

python setup.py sdist

执行上述命令后会在dist中生成一个tar.gz包(可以发给别人安装)
然后安装到pip列表中

pip install dist/myUtil-1-0.1.0.tar.gz

pip查看,可以看到以setup中name属性

pip list

然后可以在项目中引入了

from myUtil_2 import demo
import myUtil_2
myUtil_2.init()
demo.test()

在这里插入图片描述

下面提供一个快速开发版(只需要执行一个文件即可完成打包)

目录结构
在这里插入图片描述
setup_conf.py

name = 'myUtil-1'  # 打包后的包文件名(注意:这里是pip list中显示的名字 并不是import的名字)
version = '0.2.0'  # pip中显示的版本号
description = 'xxx'  # 项目描述
author = 'xxx'  # 作者名字
author_email = 'xxxxxx@xxxxxxxx.xxx'  # 作者邮箱
url = 'http://xxxxx'  # 作者项目地址

setup.py

from distutils.core import setup
import setuptools
from setup_conf import *

setup(name=name,  # 打包后的包文件名(注意:这里是pip list中显示的名字 并不是import的名字)
      version=version,  # pip中显示的版本号
      description=description,  # 项目描述
      author=author,  # 作者名字
      author_email=author_email,  # 作者邮箱
      url=url,  # 作者项目地址
      packages=setuptools.find_packages()  # 打包的包真正要import的包 需要创建文件夹里面必须有__init__.py(可为空)
      )

Project2PIP.py

import os
from setup_conf import *

if __name__ == '__main__':
    tar_gz_name = f"{name}-{version}.tar.gz"
    print("开始打包", tar_gz_name)
    os.system("python setup.py sdist")
    print("开始安装", tar_gz_name)
    os.system(f"pip install dist/{tar_gz_name}")
    print("安装结果")
    os.system(f'pip list | findstr "{name}"')

如需打包到pip列表直接运行Project2PIP.py即可

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值