3

我正在尝试使用PEP 426中指定的and来实现特殊的:test:附加功能。pipsetuptools

我创建了以下内容setup.py

#!/usr/bin/env python3
from setuptools import setup

setup(
    name='spam',
    version='0.0.0',
    tests_require=['requests'])

跑步./setup.py bdist_wheel给了我一个轮子,上面有以下内容metadata.json

{
  "name": "spam",
  "test_requires": [
    {
      "requires": [
        "requests"
      ]
    }
  ],
  "extensions": {
    "python.details": {
      "document_names": {
        "description": "DESCRIPTION.rst"
      }
    }
  },
  "summary": "UNKNOWN",
  "generator": "bdist_wheel (0.24.0)",
  "version": "0.0.0",
  "metadata_version": "2.0"
}

我希望能够test_requires通过指定额外的:test:. 但是,这让我得到以下输出:

$ pip install spam-0.0.0-cp34-cp34m-linux_x86_64.whl\[:test:\]
Exception:
Traceback (most recent call last):
  File "/tmp/5221/lib/python3.4/site-packages/pip/basecommand.py", line 232, in main
    status = self.run(options, args)
  File "/tmp/5221/lib/python3.4/site-packages/pip/commands/install.py", line 305, in run
    name, None, isolated=options.isolated_mode,
  File "/tmp/5221/lib/python3.4/site-packages/pip/req/req_install.py", line 179, in from_line
    isolated=isolated)
  File "/tmp/5221/lib/python3.4/site-packages/pip/req/req_install.py", line 52, in __init__
    req = pkg_resources.Requirement.parse(req)
  File "/tmp/5221/lib/python3.4/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2873, in parse
    reqs = list(parse_requirements(s))
  File "/tmp/5221/lib/python3.4/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2816, in parse_requirements
    DISTRO, CBRACKET, line, p, (1,), "'extra' name"
  File "/tmp/5221/lib/python3.4/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2785, in scan_list
    raise ValueError(msg, line, "at", line[p:])
ValueError: ("Expected 'extra' name in", 'spam-0.0.0-cp34-cp34m-linux_x86_64.whl[:test:]', 'at', ':test:]')

尝试使用安装项目时也会发生同样的情况pip install -e .\[:test:\]

我使用 Python 2.7 还是 3.4 都没有关系。我使用最新的 virtualenv ( pip == 6.0.6, setuptools == 12.0.4, wheel == 0.24.0)完成了所有工作

我究竟做错了什么?

4

0 回答 0