编写setup.py文件,获取帮助:python setup.py --help-commands

[python] 

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: 

  rotate            delete older distributions, keeping N newest files 

  develop           install package in 'development mode' 

  setopt            set an option in setup.cfg or another config file 

  saveopts          save supplied options to setup.cfg or other config file 

  egg_info          create a distribution's .egg-info directory 

  install_egg_info  Install an .egg-info directory for the package 

  alias             define a shortcut to invoke one or more commands 

  easy_install      Find/get/install Python packages 

  bdist_egg         create an "egg" distribution 

  test              run unit tests after in-place build

standard commands(标准命令)是distutils内建命令,而Extra commands(附加命令)是像

setuptools这样的第三方包创建的。

命令详解:

1.sdist:用来创建一个源码包,在windows下为zip格式,linux下为tag.gz格式 。

setup.py示例:

from setuptools import setup

setup(name='xxx',version='0.1.1')

打包命令:python setup.py sdist

distutils将浏览包的路径,查找包含在档案中的文件,包括:

   1)所有py_modules、packages和scripts选项隐含的python源文件

   2)所有在ext_modules选项中列出的C源文件

   3)符合test/test*.py模式的文件

   4)README、README.txt、setup.py和setup.cfg文件

如果需要包含更多文件,那么可以使用MANIFEST.in文件模版,示例如下:

include xx.txt

include yy/xx.txt

....

2.bdist_egg:用来创建一个二进制分发版本,经常用来替代基于bdist生成的模式

3.install:安装包到python中。另外,他还可能会安装在setup.py中的install_requires定义的

相关模块,例如:

install_requires=['...','...']

删除一个包:1)删除这个包所创建的文件,2)删除在site-packages文件夹easy-install.pth文

件中列举的所有引用。 www.2cto.com

4.develop:编译并且在适当的位置安装包,然后添加一个简单的链接到python site-packages文

件夹中,可以使用显式的-u选项删除包,例如:

 python setup.py develop

 python setup.py develop -u

    使用该方式比其他方式安装包更好一些

5.创建一个新命令:这是由setuptools引入的,是一种将包定义为插件的简单方法,示例:

...entry_points='''

                [distutils.commands]

  my_command=my.command.module.Class

python的setup.py文件及其常用命令的更多相关文章

  1. python的setup.py文件

    最近工作需要,用Cython写了*.pyx扩展,并将其编译成C文件,最后转换为so扩展,供python引用使用 distutils 编译,建立一个setup.py 的脚本from distutils. ...

  2. python 利用 setup.py 手动安装django_chartit

    手动安装django_chartit库 1 下载压缩包 2 解压到python安装目录下,文件夹名为django_chartit,并检查文件夹下是否有setup.py文件 3 在cmd中进入djang ...

  3. 『Python』setup.py简介

    setup.py应用场合 网上见到其他人这样介绍: 假如我在本机开发一个程序,需要用到python的redis.mysql模块以及自己编写的redis_run.py模块.我怎么实现在服务器上去发布该系 ...

  4. python如何编译py文件生成pyc、pyo、pyd以及如何和C语言结合使用

    python执行py文件的流程 当我们执行一个py文件的时候,直接python xx.py即可,那么这个流程是怎么样的呢.先说明一下,python执行代码实际上是先打开文件然后执行里面的代码,所以文件 ...

  5. 如何使用setup.py文件

    setup.py文件的使用:% python setup.py build #编译% python setup.py install    #安装% python setup.py sdist     ...

  6. python进阶之py文件内置属性

    前言 对于任何一个python文件来说,当python解释器运行一个py文件,会自动将一些内容加载到内置的属性中:一个模块我们可以看做是一个比类更大的对象. 查看模块的内置属性 我们先创建一个典型的p ...

  7. python中__init__.py文件的作用

    问题 在执行models.py时,报ImportError:No module named transwarp.db的错误,但明明transwarp下就有db.py文件,路径也没有错误.真是想不通.后 ...

  8. MySQL进口.sql文件和常用命令

    MySQL进口.sql文件和常用命令 在MySQL Qurey   Brower中直接导入*.sql脚本,是不能一次运行多条sql命令的.在mysql中运行sql文件的命令: mysql> so ...

  9. Python中__init__.py文件的作用详解

    转自http://www.jb51.net/article/92863.htm Python中__init__.py文件的作用详解 http://www.jb51.net/article/86580. ...

随机推荐

  1. CVPR2020:三维点云无监督表示学习的全局局部双向推理

    CVPR2020:三维点云无监督表示学习的全局局部双向推理 Global-Local Bidirectional Reasoning for Unsupervised Representation L ...

  2. 目标检测数据集The Object Detection Dataset

    目标检测数据集The Object Detection Dataset 在目标检测领域,没有像MNIST或Fashion MNIST这样的小数据集.为了快速测试模型,我们将组装一个小数据集.首先,我们 ...

  3. 24GHz和77GHz毫米波雷达技术细节

    24GHz和77GHz毫米波雷达技术细节 FMCW Radar Sensitivity Measurement Tech Field Test and Raw Data Analysis Capabi ...

  4. springboot的restful风格获取请求中携带的参数

    http://localhost:8080/emp/1 有以上请求,我们controller要怎么获取请求中传递的参数1呢? 通过PathVariable注解,如下: @DeleteMapping(& ...

  5. java并发编程JUC第九篇:CountDownLatch线程同步

    在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口.ArrayBlockingQueue.DelayQueue.LinkedBlockingQueue.Priorit ...

  6. 为什么PMOS比NMOS的沟道导通电阻大,速度慢,价格高-透彻详解

    原文地址点击这里: 在前一节,我们对PMOS与NMOS两种增强型场效应管的开关电路作了详细的介绍, 并且还提到过一种广为流传的说法:相对于NMOS管,PMOS管的沟道导通电阻更大.速度更慢.成本更高等 ...

  7. Spring Boot开发RESTful接⼝服务及单元测试

    Spring Boot开发RESTful接⼝服务及单元测试 常用注解解释说明: @Controller :修饰class,⽤来创建处理http请求的对象 @RestController :Spring ...

  8. 『动善时』JMeter基础 — 50、使用JMeter测试WebService接口

    目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...

  9. excel VBA中Xldown和xlup用法

    1.Worksheets("Sheet1").Range("A1").End(xlDown).Select     '意思为自A1起,返回从上往下的最后一个非空 ...

  10. Opencv 播放mp4文件和读取摄像头图以及可能会发生的一些异常问题解决方法

    学习内容 学习Opencv 读取并播放本地视频和打开摄像头图像以及可能会发生的一些异常问题解决方法 代码演示 电脑环境信息: OpenCV版本:4.5.2 ,vs2017 1.视频文件读取与播放 加载 ...