使用 Setup 將Python 代碼 打包


完成源碼后將代碼打成安裝包:

1. 我的源代碼結構如下:

pack

|---src

  | - common ---http

        ---user

  | - lib

  | - factory.py

 

2. 實現setup.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from distutils.core import setup

setup(
    name='sdk',
    version='1.0',
    description='sdk for di input , output and param',
    author='sam',
    author_email='sam@qq.com',
    url='',
    license='No License',
    platforms='python 2.7',
    py_modules=['factory'],
    package_dir={'': 'pack'},
    packages=['lib', 'common.http']
)

執行

python setup.py sdist

setup.py 同級目錄生成一個dist文件夾,里面是 sdk1.0.tar.gz

之后就可以解壓

解壓后安裝:

python setup.py install 

注:使用 setup.py沒有卸載功能,如果需要卸載則要手動刪除

也可使用: -- record 記錄安裝文件的目錄 

python setup.py install --record file.txt

卸載就可以使用腳本,實現自動安裝和卸載

注 1:

setup.py參數說明

 

#python setup.py build     # 編譯

#python setup.py install     #安裝

#python setup.py sdist       #生成壓縮包(zip/tar.gz)

#python setup.py bdist_wininst   #生成NT平台安裝包(.exe)

#python setup.py bdist_rpm #生成rpm

 

或者直接"bdist 包格式",格式描述如下:

 

#python setup.py bdist --help-formats 

   --formats=rpm       RPM distribution

   --formats=gztar     gzip'ed tar file

   --formats=bztar     bzip2'ed tar file

   --formats=ztar     compressed tar file

   --formats=tar       tar file

   --formats=wininst   Windows executable installer

   --formats=zip       ZIP file

 

注2: setup參數:

  1. name 打包名稱 
  2. version 版本
  3. ....
  4. playforms 所支持的平台 ,例中只支持2.7
  5. package_dir 源碼所在目錄 
  6. packages 源碼目錄下那些目錄要被打包
  7. py_modules 需要打包的模塊
  8. requires 定義依賴模塊 
  9. ... 

具體參數可參見官網

 

引用:

https://docs.python.org/2/distutils/apiref.html

http://blog.csdn.net/langb2014/article/details/53114341

 


免責聲明!

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



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