栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

将python工程打包为.whl格式的package

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将python工程打包为.whl格式的package

​ 看到了很多把python工程打包为.exe的方法介绍,但是没有最新的一些打包为.whl供pip直接下载安装的教程,这里结合2015年的打包方法介绍一下如何将python工程打包为.whl包并上传:

**(1)**在需要打包的工程文件夹外面再建立一个同名文件夹,结构如下,此处示例工程名为:

packagedemo
	|-----setup.py
	|-----setup.cfg
	|-----README.rst
	|-----packagedemo
			|-----__init__.py
			|-----main.py

**(2)**在上图目录中新建文件setup.py,setup.cfg,README.rst,其中setup.py是最为重要的文件,包含了打包的参数和基本信息,setup.cfg是setup.py的配置文件,README.rst用于项目介绍。

**(3)**打开setup.py,输入以下内容:

import os
import setuptools

setuptools.setup(
	name = 'packagedemo',
	version = '1.0',
	keywords = 'demo',
	description = 'A demo for python packaging',
	long_description = open(
		os.path.join(
			os.path.dirname(__file__),
			'README.rst'
		)
	).read(),
	author = 'your name',
	author_email = 'xxxxx@xxx.com'
	
	url = 'http://xxx/xxxx/packagedemo',
	packages = setuptools.find_packages(),
	license = 'MIT'
)

​ name:即项目名称,本例为packagedemo

​ version:自己设置的版本号

​ keywords:描述项目的关键字

​ description:项目简介

​ long_description:项目详细简介

​ author:作者名称

​ author_email:作者邮箱

​ url:项目的homepage

​ packages:项目包括的python package,setuptools.find_packages()可以自动找出包含的package

​ license:如MIT,APACHE,GNU等

**(4)**采用pip可安装source distribution(sdist)和wheel这两种格式python package,如果二者同时存在,pip会优先选择wheel。根据application包含的的代码类型以及所支持的python版本,wheel格式可以细分为三种:

​ Universal wheel: 纯 python代码,并且支持 python 2和3
​ Pure python wheel: 纯python代码,不同时支持 python2和3
​ Platform wheel: 非纯python 代码

采用如下命令可编译为Universal wheel:

python setup.py bdist_wheel --universal

采用如下命令可编译为非Universal wheel(即第二种和第三种):

python setup.py bdist_wheel

此外,还可以通过如下命令编译为sdist文件:

python setup.py sdist

**(5)**现在要将打包好的工程上传到pypi,首先要安装twine:

 pip install twine

在pypi创建一个账户,并把packagedemo.egg-info/PKG-INFO上传至pypi submit用于注册该项目。之后在Wndows用户目录下创建.pypirc文件,输入以下内容:

[distutils]
index-servers = pypi

[pypi]
repository = https://upload.pypi.org/legacy/
username = 
password = 

其中用户名和密码填写自己pypi账户的名字和密码。

最后使用如下命令上传package:

twine upload dist/*
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/656780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号