python 查看当前目录_「Python」打包分发工具setuptools学习
?
setuptools是python標(biāo)準(zhǔn)的打包分發(fā)工具,它可以將我們編寫的python項(xiàng)目打包安裝,這樣其他同事就可以像調(diào)用標(biāo)準(zhǔn)庫(kù)或python第三方庫(kù)那樣直接使用;也可以將項(xiàng)目上傳到Pypi供更多人的下載安裝使用。
?
1. 項(xiàng)目結(jié)構(gòu)
項(xiàng)目結(jié)構(gòu)
?
這是一個(gè)打包構(gòu)建好的一個(gè)目錄結(jié)構(gòu)。構(gòu)建前的結(jié)構(gòu)包含:demo、docs、setup.py ,其中主要的就是demo文件夾和setup.py。
?
2.setup文件說明
?
setup.py定義了打包程序的一些相關(guān)信息
?
import os, shutilfrom setuptools import setup, find_packages#移除構(gòu)建的build文件夾CUR_PATH = os.path.dirname(os.path.abspath(__file__))path = os.path.join(CUR_PATH, 'build')if os.path.isdir(path): print('INFO del dir ', path) shutil.rmtree(path)setup( name = 'demo', #應(yīng)用名 author = 'selfeasy', version = '0.1', #版本號(hào) packages = find_packages(), #包括在安裝包內(nèi)的Python包 include_package_data = True, #啟用清單文件MANIFEST.in,包含數(shù)據(jù)文件 exclude_package_data = {'docs':['1.txt']}, #排除文件 install_requires = [#自動(dòng)安裝依賴 'Flask>=0.10', ],)3. 打包分發(fā)流程
3.1 打包
python setup.py bdist_egg?
該命令會(huì)在當(dāng)前目錄下的”dist”目錄內(nèi)創(chuàng)建一個(gè)”egg”文件,名為”MyApp-1.0-py2.7.egg”。文件名格式就是”應(yīng)用名-版本號(hào)-Python版本.egg”,我本地Python版本是2.7。同時(shí)你會(huì)注意到,當(dāng)前目錄多了”build”和”MyApp.egg-info”子目錄來存放打包的中間結(jié)果。
?
3.2 安裝
python setup.py install?
該命令會(huì)將當(dāng)前的Python應(yīng)用安裝到當(dāng)前Python環(huán)境的”site-packages”目錄下, 這樣其他程序就可以像導(dǎo)入標(biāo)準(zhǔn)庫(kù)一樣導(dǎo)入該應(yīng)用的代碼了。
?
4.打包方式
?
打包構(gòu)建和安裝方式有多種,可以選擇適合自己的。
?
python setup.py --help#查看setup文件的配置信息可以包含哪些python setup.py --help-commands# 查看程序打包和分發(fā)可以使用的命令有哪些總結(jié)
以上是生活随笔為你收集整理的python 查看当前目录_「Python」打包分发工具setuptools学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arcpy使用教程
- 下一篇: 用Redis客户端工具连接Redis