一、创建包
新建文件夹
my-package,文件夹下创建如下setup.py(务必为此名字)文件# encoding: utf-8 from setuptools import setup, find_packages setup( name="demo", # egg包名 version="0.0.9", description="get http headers", author="heroicai", author_email="xxx@example.com", zip_safe=False, license='MIT', install_requires=['requests>=2.7.0', ], # 依赖包 # 包含src中所有的包,并排除一些特定的包 packages=find_packages("src", exclude=["*.tests", "*.tests.*"]), package_dir={"": "src"}, # 告诉setuptools在src目录下找包 package_data={ "": ["*.txt"], # 任何包中含有txt的文件 "demo": ["data/*.dat", "doc/*.txt"], # demo包中data目录下的dat文件 } )将程序的源代码均置于
src文件夹下,该文件夹包含demo包和该包对应的数据及文档文件,最终目录结构如下图:
二、安装包
1、进入
my-package目录,查看python setup.py命令帮助2、根据提示,执行
python setup.py --help-commands命令查看更详细的帮助。从帮助文档可以看出,bdist_egg命令可将包打包为egg3、执行
python setup.py -q bdist_egg完成egg打包,打包后my-package目录如下图,可见打包过程中新建了build和dist文件夹,其中dist文件夹下,包含demo-0.0.9-py2.egg(ps: 同理可使用python setup.py -q bdist_wininst打包为exe可执行文件,此方法可直接在windows上像普通程序一样双击完成安装)注: 用zip软件解压生成的
demo-0.0.9-py2.7e包,查看该egg包目录结构如下:4 为了不受本地已有环境的干扰,此处选择在虚拟工作环境
my-proj-env中安装demo包:首先将my-package文件夹放入虚拟工作环境中;接着进入my-package目录,执行python setup.py install,安装过程中会自动下载demo包依赖的requests包ps:另外一种手动安装egg包的方式是:将
demo-0.0.9-py2.egg包直接放到虚拟工作目录的lib > site-packages路径下,并在easy-install.pth文件添加egg包路径引用,如下图:5 验证demo包是否安装:如下图所示,不仅成功安装demo包,对应的依赖包
requests也一并安装完毕。
三、卸载包
执行
pip uninstall demo命令,即可完成卸载demo包
四、总结
静默打包
python setup.py -q bdist_egg
静默安装包
python setup.py -q install
PS:pip包推荐用
pip install --no-deps .(注意:结尾有个.,代表当前路径) 代替python setup.pyinstall,并且将依赖的包写入setup_requires.txt文件,再调用pip install -r setup_requires.txt完成依赖包安装- 卸载安装包
pip uninstall demo
参考
[1] https://pythonhosted.org/an_example_pypi_project/setuptools.html
[2] http://python-packaging.readthedocs.org/en/latest/minimal.html
[3] http://python-packaging-user-guide.readthedocs.org/en/latest/installing/
本文详细介绍了如何使用Python创建和管理自己的包,包括创建、安装、卸载等步骤,并提供了静默打包和安装的方法。
1909

被折叠的 条评论
为什么被折叠?



