python的setup.py文件及其常用命令


編寫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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM