python中disutils打包与安装

python使用distutils打包和安装:

1. 命令说明
python setup.py --help-commands 输出命令说明
python setup.py sdist 创建一个源码包发布 source distribution
python setup.py bdist 创建一个二进制包发布 binary distribution

python setup.py sdist
可以为sdist指定格式:--formats=
zip: zip file
gztar: tar.gz file
bztar: tar.bz2 file
ztar: tar.Z file
tar: tar file
如:python setup.py sdist --formats=zip将打包为zip格式,此为win7下的默认格式

python setup.py bdist
可以为bdist指定的格式:--formats=
gztar: tar.gz file
ztar: tar.Z file
tar: tar file
zip: zip file
rpm: RPM Package
pkgtool: Solaris pkgtool
winist: windows上子解压的zip格式包
msi:microsoft installer
如可以使用:python setup.py bdist --formats=msi


获取帮助的方式:
python setup.py --help
python setup.py --help-commands: 所有可以使用的命令,如build,install
python setup.py COMMAND --help-formats: 获取特定命令支持使用的格式
如:python setup.py sdist --help-formats输出支持的格式,windows输出如下:
List of available source distribution for
  --formats=bztar  bzip2'ed tar-file
  --formats=gztar  gzip'ed tar-file
  --formats=tar    uncompressed tar file
  --formats=zip    ZIP file
  --formats=ztar   compressed tar file
然后python setup.py sdist --formats=bztar,以bztar格式打包


2. 使用例子:
pkg文件夹下有一下文件:
mymodule.py:
def func():
print('this is my module')


README.txt:里面内容可以自己定义


setup.py:
from distutils.core import setup
setup(name='pkg',  # 包名(必需)
      version='1.0', #版本号
      author='author1', 
      author_email = 'haha@mage.com',
      py_modules=['mymodule'], #各模块名称组成的列表,此模块可能位于包的根目录下,也可能位于某子包目录中
      url = 'http://www.baidu.com',
      description = 'A simple module'
      )


打包:cmd命令cd到pkg文件夹下
源代码包打包:
执行:python setup.py sdist进行打包,打包后pkg文件夹下会有一个dist文件夹,
里面有pkg-1.0.zip(win7默认格式)
指定格式打包:python setup.py sdist --formats=bztar,输出pkg-1.0.tar.bz2
当然以其他格式打包也行,源代码打包后,进行解压后,会有四个文件:
mymodule.py,README.txt,setup.py,PKG_INFO


二进制包打包:
执行:python setup.py bdist
python setup.py bdist --formats=msi
python setup.py bdist_wininst //Windows 下使用,此种方法打包后,会在dist文件夹生成
pkg-1.0.win32.exe,执行安装时,若你已经安装了python,会默认安装到F:\Python\Lib\site-packages\目录下
,该目录被包含在sys.path中,导入模块时,可以直接导入,会默认到该目录下搜索。
当然也可打包linux格式:python setup.py bdist_rpm //Linux 下使用


安装:
源码包的安装是将源码包解压后,运行python setup.py install;而Windows和Linux安装包则直接运行安装文件;
上面例子执行源码安装:python setup.py install,输出:
running install
running build
running build_py
creating build
creating build\lib
copying mymodule.py -> build\lib
running install_lib
byte-compiling F:\Python\Lib\site-packages\mymodule.py to mymodule.cpython-34.pyc
running install_egg_info
Removing F:\Python\Lib\site-packages\pkg-1.0-py3.4.egg-info
Writing F:\Python\Lib\site-packages\pkg-1.0-py3.4.egg-info
执行后F:\Python\Lib\site-packages\目录下会有mymodule.py,pkg-1.0-py3.4.egg-info文件,以及在F:
\Python\Lib\site-packages\__pycache__目录下会有mymodule.cpython-34.pyc字节码文件
安装后,就可以直接导入模块了,如import mymodule
>>> import mymodule
>>> mymodule.func()
this is my module


注:site-packages目录为默认安装目录

自定义安装路径:
--user=
--prefix=
--exec-prefix=

深度定制:
--install-purelib=/path/to/python_lib
--install_platlib=/path/to/plat_lib
   --install-lib=/path/to/lib

--install-scripts=/path/to/bin 可执行文件的安装路径

--install-data=
--install-headers=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值