python的setup.py文件及其常用命令
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文
? ? 件中列舉的所有引用。
? ? 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文件及其常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STAR直接就可以输出readsCoun
- 下一篇: 纯Python模块发布setup脚本编写