创建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_64win32) 为特定车轮设置。要知道模块可以是哪个平台 安装在上,检查所有车轮。如果特定的车轮有 平台属性,而不是any,该平台将用作 包裹的平台。当然,我们认为 在特定的机器平台上下载或创建的轮子 属于两个不同的平台。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java基于Maven结果构建不同的Docker映像(与Jenkins一起)   java为什么在捕获异常时顺序很重要?   java如何创建或添加文本编辑器来使用swing输入数学方程?   构建/编译颤振应用程序时的java问题   java如何在调用方中返回数据之前等待JavaFX服务完成?   java如何将文件而不仅仅是文本发送到JMS队列?   c#将StringBuilder#AppendFormat转换为java   web应用程序中的java授权   java找不到元素:通过POM执行代码时出错,通过单个main()程序执行时,同一定位器工作正常   从Java运行带有自定义模块导入的Python脚本   多线程Java堆内存使用率波动   使用Java在MongoDB中进行动态聚合   unicode UTF8到Java中的EBCDIC   java项目不会在Android Studio中运行