編寫setup.py文件,獲取幫助:python setup.py --help-commandpython
[python] linux
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 windows
standard commands(標準命令)是distutils內建命令,而Extra commands(附加命令)是像ide
setuptools這樣的第三方包建立的。ui
命令詳解:
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文件spa
若是須要包含更多文件,那麼能夠使用MANIFEST.in文件模版,示例以下:
include xx.txt
include yy/xx.txt
....
2.bdist_egg:用來建立一個二進制分發版本,常常用來替代基於bdist生成的模式插件
3.install:安裝包到python中。另外,他還可能會安裝在setup.py中的install_requires定義的orm
相關模塊,例如:ip
install_requires=['...','...']get
刪除一個包: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