python的setup.py文件解析

2021-03-30 12:28

阅读:510

标签:article   打包   exclude   ini   blog   依赖   哪些   版本   form   

setup.py文件介绍

setup.py:

根据我从网上找来的例子:

场景假设:

比如我想安装一个pymysql的模块,然后呢我自己基于pymysql进行了一个简易的开发了一个简单的模块,但是这个模块事基于pymysql来进行开发的,这个模块需要pymysql来进行使用,遇到这种情况,我首先想到的事用pip安装不就可以了嘛,但这里又需要pip安装pymysql,然后又得将我自己的编写的模块安装上,显的十分麻烦,仔细的想想这样的场景貌似并不适合pip来进行安装,所以这里就引出了setup.py文件,我将我需要安装的依赖包的名字全部放到stup.py文件中指定我需要安装的依赖包,这样一来我直接运行python setup.py install 就可以实现直接安装我需要的软件包。大致是这个意思

setup.py文件编写方式:

 


try:
  from setuptools import setup
except ImportError:
  from distutils.core import setup
  config = {
      ‘description‘:‘MY Project‘,
      ‘author‘:‘杨洋‘,
      ‘url‘:‘URL to get it at.‘,
      ‘download_url‘:‘Where to download it.‘,
      ‘author_email‘:‘1694123930@qq.com‘,
      ‘version‘:‘0.1‘,
      ‘install_requires‘:[‘nose‘],
      ‘packages‘:[‘yangyang‘],
      ‘scripts‘:[],
      ‘name‘:‘projectname‘
  }
  setup(**config)

参数详解/(包含其他的参数):

--name 包名称--version (-V) 包版本--author 程序的作者--author_email 程序的作者的邮箱地址--maintainer 维护者--maintainer_email 维护者的邮箱地址--url 程序的官网地址--license 程序的授权信息--description 程序的简单描述--long_description 程序的详细描述--platforms 程序适用的软件平台列表--classifiers 程序的所属分类列表--keywords 程序的关键字列表--packages 需要处理的包目录(包含init.py的文件夹)--py_modules 需要打包的python文件列表--download_url 程序的下载地址--cmdclass--data_files 打包时需要打包的数据文件,如图片,配置文件等--scripts 安装时需要执行的脚步列表--package_dir 告诉setuptools哪些目录下的文件被映射到哪个源码包。一个例子:package_dir = {‘‘: ‘lib‘},表示“root package”中的模块都在lib 目录中。--requires 定义依赖哪些模块--provides定义可以为哪些模块提供依赖--find_packages() 对于简单工程来说,手动增加packages参数很容易,刚刚我们用到了这个函数,它默认在和setup.py同一目录下搜索各个含有 init.py的包。

其实我们可以将包统一放在一个src目录中,另外,这个包内可能还有aaa.txt文件和data数据文件夹。另外,也可以排除一些特定的包

find_packages(exclude=[".tests", ".tests.", "tests.", "tests"])

--install_requires = ["requests"] 需要安装的依赖包

 

参考资料:

https://www.cnblogs.com/maociping/p/6633948.html #主要参考

http://blog.csdn.net/lynn_kong/article/details/17540207

http://blog.csdn.net/pfm685757/article/details/48651389

http://blog.csdn.net/langb2014/article/details/53114341

技术图片

 

python的setup.py文件解析

标签:article   打包   exclude   ini   blog   依赖   哪些   版本   form   

原文地址:https://www.cnblogs.com/yandh/p/13580449.html


评论


亲,登录后才可以留言!