创建python控制盘存档。
wheelr的Python项目详细描述
此工具为单个模块创建基于tar.gz的python轮存档 并允许安装它们。
(注:目前仅在Linux上测试)。
cloudify插件打包为一组python Wheels 在tar.gz文件中,所以我们需要一个工具来创建这样的档案。因此, 惠勒。
用法
创建包
wheelr create --help
示例
# create an archive by retrieving the source from PyPI and keep the downloaded wheels (kept under <cwd>/plugin) wheelr create -s cloudify-script-plugin==1.2 --keep-wheels -v # create an archive package by retrieving the source from a URL and creates wheels from requirement files found within the archive. wheelr create -s http://github.com/cloudify-cosmo/cloudify-script-plugin/archive/1.2.tar.gz -r . # create an archive package by retrieving the source from a local path and output the tar.gz file to /tmp/<MODULE>.tar.gz (defaults to <cwd>/<MODULE>.tar.gz) wheelr create -s ~/modules/cloudify-script-plugin/ -o /tmp/
这三个命令的输出包应该类似于 cloudify_script_plugin-1.2-py27-none-any.tar.gz如果运行在 Python2.7.x.
安装软件包
wheelr install --help
示例
# install a packaged module from a local package tar file and upgrade if already installed wheelr install -s ~/tars/cloudify_script_plugin-1.2-py27-none-any.tar.gz --upgrade # install a packaged module from a url into an existing virtualenv wheelr install -s http://me.com/cloudify_script_plugin-1.2-py27-none-any.tar.gz --virtualenv my_venv -v
命名和版本控制
资料来源:PYPI
当提供一个pypi源时,它必须作为 module_name==模块版本。惠勒然后应用正确的名称和 根据这两个参数将版本设置为存档。
来源:else
对于本地路径和url源,名称和版本将自动 从setup.py文件中提取。
注意:这意味着在提供本地路径时,必须提供 setup.py文件所在的根目录的路径。
元数据文件和控制盘
为存档生成了一个元数据文件,看起来有点像 这个:
{ "archive_name": "cloudify_script_plugin-1.2-py27-none-any.tar.gz", "supported_platform": "any", "module_name": "cloudify-script-plugin", "module_source": "cloudify-script-plugin==1.2", "module_version": "1.2", "wheels": [ "proxy_tools-0.1.0-py2-none-any.whl", "bottle-0.12.7-py2-none-any.whl", "networkx-1.8.1-py2-none-any.whl", "pika-0.9.13-py2-none-any.whl", "cloudify_plugins_common-3.2.1-py2-none-any.whl", "requests-2.7.0-py2.py3-none-any.whl", "cloudify_rest_client-3.2.1-py2-none-any.whl", "cloudify_script_plugin-1.2-py2-none-any.whl" ] }
- 要安装的轮子位于tar.gz文件中 “车轮/*.whl”。
- 元数据文件位于“module.json”下的tar.gz文件中。
- 安装程序使用元数据文件检查平台是否适合 安装模块的机器。
存档命名约定和平台
gz存档文件是根据wheel命名约定命名的 描述于 PEP0427 除了两个字段之外:
示例:cloudify_fabric_plugin-1.2.1-py27-none-linux_x86_64.tar.gz
- {python tag}:python版本由运行 包装工艺。这意味着一个模块可能同时运行在 PY27和PY33(例如),因为包装过程发生了 使用Python2.7,只有Py27会附加到名称后面。注意 我们将为用户提供一种方法来提供 python版本显式地。
- {platform tag}:平台(例如linux_x86_64,win32) 为特定车轮设置。要知道模块可以是哪个平台 安装在上,检查所有车轮。如果特定的车轮有 平台属性,而不是any,该平台将用作 包裹的平台。当然,我们认为 在特定的机器平台上下载或创建的轮子 属于两个不同的平台。