python项目打包成依赖(可以pip install 安装)
python打包成pip包
用途:可以将别人的代码打包成pip包,用pip安装到自己的项目中,也可以将自己的代码打包,给别人安装。
这里我是将pandapackage打包成依赖,再和这个文件夹同目录下新建setup.py文件
打包的pandapackage下面有很多文件夹,文件夹下面有py文件,那就需要每个文件夹下都建立一个__init__py文件,这个文件可以为空,但是必须要有
编写setup.py文件
#! /usr/bin/env python
# -*- coding: utf-8 -*_
# Author: ***<***gmail.com>
from distutils.core import setup
import setuptools
setup(
name='qtbattle_test_final_3', # 包的名字
version='0.0.1', # 版本号
description='project describe: test of qtbattle ', # 描述
author='xxx', # 作者
author_email='longing@gmail.com', # 你的邮箱**
url='', # 可以写github上的地址,或者其他地址
packages=setuptools.find_packages(), # 包内不需要引用的文件夹
include_package_data=True,
package_data={
'pandapackage':['assets/*.gltf','assets/quzhujian/*.jpg','assets/*.egg' , 'entity/situation_predict/check_point/*.pkl']
}, # 这里是包的一些非py文件
# 依赖包
install_requires=[
'numpy',
'panda3d',
],
classifiers=[
'Development Status :: 4 - Beta',
'Operating System :: Microsoft' # 你的操作系统
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License', # BSD认证
'Programming Language :: Python', # 支持的语言
'Programming Language :: Python :: 3', # python版本 。。。
'Programming Language :: Python :: 3.7',
'Topic :: Software Development :: Libraries'
],
zip_safe=True,
)
生成whl文件和tar.gz文件包
以此运行下面的命令
- python setup.py build
- python setup.py sdist
- python setup.py sdist bdist_wheel
然后就可以在其他项目中pip安装这个包了。
ps:如果你的这个包里面有以下相对路径的话,可能需要更改,通过下面的方式来尝试:
# curpath = os.path.abspath(os.path.dirname(__file__))
# sys.path.append(curpath)
os.path.abspath(os.path.dirname(__file__))
# sys.path.append(curpath)