Python 打包中 setpy.py settuptools pbr 的了解

背景

nova服务构建失败,报错:

'tests_require' must be a string or list of strings containing valid project/version requirement specifiers

概述

setup.py

python setup.py --help-commands
Standard commands:
  build             build everything needed to install
  build_py          "build" pure Python modules (copy to build directory)
  build_ext         build C/C++ extensions (compile/link to build directory)
  build_clib        build C/C++ libraries used by Python extensions
  build_scripts     "build" scripts (copy and fixup #! line)
  clean             clean up temporary files from 'build' command
  install           install everything from build directory
  install_lib       install all Python modules (extensions and pure Python)
  install_headers   install C/C++ header files
  install_scripts   install scripts (Python or otherwise)
  install_data      install data files
  sdist             create a source distribution (tarball, zip file, etc.)
  register          register the distribution with the Python package index
  bdist             create a built (binary) distribution
  bdist_dumb        create a "dumb" built distribution
  bdist_rpm         create an RPM distribution
  bdist_wininst     create an executable installer for MS Windows
  upload            upload binary package to PyPI
  check             perform some checks on the package

Extra commands:
  saveopts          save supplied options to setup.cfg or other config file
  compile_catalog   compile message catalogs to binary MO files
  develop           install package in 'development mode'
  upload_docs       Upload documentation to PyPI
  extract_messages  extract localizable strings from the project code
  init_catalog      create a new catalog based on a POT file
  test              run unit tests after in-place build
  update_catalog    update message catalogs from a POT file
  bdist_egg         create an "egg" distribution
  setopt            set an option in setup.cfg or another config file
  install_egg_info  Install an .egg-info directory for the package
  rotate            delete older distributions, keeping N newest files
  egg_info          create a distribution's .egg-info directory
  deb_version       Output the deb *compatible* version string of this package
  alias             define a shortcut to invoke one or more commands
  easy_install      Find/get/install Python packages
  rpm_version       Output the rpm *compatible* version string of this package

usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

pip

setuptools

http://blog.csdn.net/wang1472jian1110/article/details/71730387
http://codingpy.com/article/how-to-write-your-own-python-packages/
http://xiaoh.me/2015/12/11/python-egg/
http://www.cnblogs.com/streakingBird/p/4056765.html
http://blog.useasp.net/archive/2014/09/09/packaging-python-libraries-and-upload-to-pypi-python-package-index.aspx

pbr

Python 打包

原文地址:https://www.cnblogs.com/michael-xiang/p/10466827.html

时间: 2024-10-25 00:13:04

Python 打包中 setpy.py settuptools pbr 的了解的相关文章

Python包中 __init__.py文件的作用

原创连接 https://www.cnblogs.com/AlwinXu/p/5598543.html Python包中 __init__.py文件的作用 在创建python包的过程中,IDE都会在包根目录下创建一个__init__.py文件,该Python文件默认是空的.目录结构如下: Pycharm下的package树结构: 在Finder中的目录结构: 从Finder中的目录就可以看出来,每个package实际上是一个目录(Directory),那么IDE是怎么识别它为package呢?没

Python包中__init__.py作用

在创建python包的过程中,IDE都会在包根目录下创建一个__init__.py文件,该Python文件默认是空的.目录结构如下: Pycharm下的package树结构: 在Finder中的目录结构: 从Finder中的目录就可以看出来,每个package实际上是一个目录(Directory),那么IDE是怎么识别它为package呢?没错,__init__.py的第一个作用就是package的标识,如果没有该文件,该目录就不会认为是package. Python中的包和模块有两种导入方式:

python包中__init__.py的作用

1.__init__.py定义包的属性和方法 一般为空文件,但是必须存在,没有__init__.py表明他所在的目录只是目录不是包 2.导入包的时候使用 例如有一个test目录,test下有xx1.py,xx2.py,__init__.py三个文件 | test | | __init__.py | | xx1.py | | xx2.py 则test可以当作包被导入,导入test下所有的文件 from test import * 导入的实际是__init__.py中变量__all__,即__all

python web中models.py中的一些处理

如何保证传入值的值不为空 idc_name  = db.Column(db.String(30),nullable=False) 如何保证传入的值是唯一的 name = db.Column(db.String(10),index=True,nullable=False,unique=True)

解决Python开发过程中依赖库打包问题的方法

在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新install各种相关的依赖库,有没有更好的方法来解决Python开发过程中依赖库的打包呢?答案是肯定的. 类似于JavaScript的npm,Python也有它强大的包管理工具--pip,我们可以用pip导出项目中的dependency: 1 $ pip freeze > requirements.txt 然

python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法

最近学习python的时候经常会看到好多py文件中都有if _name_ == '_main_': 这句话,所以就花点儿时间来研究一下,总结了一下使用方法及原则. 平时我们使用python IDE编写py程序的时候 一般是很少用到if name == 'main':这句话的,因为我们在运行py文件时,没有牵扯到其他目录下自定义的py文件,所以不用写这句话就可以无忧地执行当前py文件中的函数,但 想想 如果要是需要调用其他的py文件中的自定义函数呢?这就需要使用if name == 'main':

python中 __init__.py的作用

__init__.py一般是为空,用在一个python目录中,标识该目录是一个python的模块包 先上来看一个例子: 1 .: 2 test1 test2 test_init.py 3 4 ./test1: 5 time.py 6 7 ./test2: 8 cpuinfo.py cpuinfo.pyc __init__.py __init__.pyc test_init.py里面的代码如下: 1 from test2 import cpuinfo 2 from test1 import tim

python打包工具distutils、setuptools分析

在上一篇博文中总结了python中导入包,安装包一条完整的线路.其中有一个有意思的知识点,安装包的方式有很多种,模块和包管理中打包,发布,安装也是值得研究的内容. python中安装包的方式有很多种: 源码包:python setup.py install 在线安装:pip install 包名(linux) / easy_install 包名(window) python包在开发中十分常见,一般的使用套路是所有的功能做一个python模块包,打包模块,然后发布,安装使用.打包和安装包就是最常见

【01】Python打包输出为.exe可执行文件

这是我的第01篇博客 Python打包输出为.exe可执行文件 在完成了之前的爬虫以后,为了给电脑上没有Python环境的朋友玩我的爬虫,开始尝试把爬虫的.py文件输出成.exe可执行文件. 首先,Python的教程上提到了py2exe的模块.但是一波搜索以后发现这个玩意只支持到Python3.4,而我用的是Python3.5.2,这让我很尴尬......于是继续一波搜索,发现了一个叫PyInstaller的模块.这个模块可以完美支持Python3.5,于是怒入. 首先是安装.去sourcefo