本文整理匯總了Python中packaging.specifiers方法的典型用法代碼示例。如果您正苦於以下問題:Python packaging.specifiers方法的具體用法?Python packaging.specifiers怎麽用?Python packaging.specifiers使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類packaging
的用法示例。
在下文中一共展示了packaging.specifiers方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _preparse_requirement
# 需要導入模塊: import packaging [as 別名]
# 或者: from packaging import specifiers [as 別名]
def _preparse_requirement(self, requires_dist):
"""Convert 'Foobar (1); baz' to ('Foobar ==1', 'baz')
Split environment marker, add == prefix to version specifiers as
necessary, and remove parenthesis.
"""
parts = requires_dist.split(';', 1) + ['']
distvers = parts[0].strip()
mark = parts[1].strip()
distvers = re.sub(self.EQEQ, r"\1==\2\3", distvers)
distvers = distvers.replace('(', '').replace(')', '')
return (distvers, mark)
示例2: __init__
# 需要導入模塊: import packaging [as 別名]
# 或者: from packaging import specifiers [as 別名]
def __init__(self, project_name, specs, extras):
"""DO NOT CALL THIS UNDOCUMENTED METHOD; use Requirement.parse()!"""
self.unsafe_name, project_name = project_name, safe_name(project_name)
self.project_name, self.key = project_name, project_name.lower()
self.specifier = packaging.specifiers.SpecifierSet(
",".join(["".join([x, y]) for x, y in specs])
)
self.specs = specs
self.extras = tuple(map(safe_extra, extras))
self.hashCmp = (
self.key,
self.specifier,
frozenset(self.extras),
)
self.__hash = hash(self.hashCmp)
示例3: check_extras
# 需要導入模塊: import packaging [as 別名]
# 或者: from packaging import specifiers [as 別名]
def check_extras(dist, attr, value):
"""Verify that extras_require mapping is valid"""
try:
for k, v in value.items():
if ':' in k:
k, m = k.split(':', 1)
if pkg_resources.invalid_marker(m):
raise DistutilsSetupError("Invalid environment marker: " + m)
list(pkg_resources.parse_requirements(v))
except (TypeError, ValueError, AttributeError):
raise DistutilsSetupError(
"'extras_require' must be a dictionary whose values are "
"strings or lists of strings containing valid project/version "
"requirement specifiers."
)
示例4: check_requirements
# 需要導入模塊: import packaging [as 別名]
# 或者: from packaging import specifiers [as 別名]
def check_requirements(dist, attr, value):
"""Verify that install_requires is a valid requirements list"""
try:
list(pkg_resources.parse_requirements(value))
except (TypeError, ValueError) as error:
tmpl = (
"{attr!r} must be a string or list of strings "
"containing valid project/version requirement specifiers; {error}"
)
raise DistutilsSetupError(tmpl.format(attr=attr, error=error))
示例5: check_specifier
# 需要導入模塊: import packaging [as 別名]
# 或者: from packaging import specifiers [as 別名]
def check_specifier(dist, attr, value):
"""Verify that value is a valid version specifier"""
try:
packaging.specifiers.SpecifierSet(value)
except packaging.specifiers.InvalidSpecifier as error:
tmpl = (
"{attr!r} must be a string "
"containing valid version specifiers; {error}"
)
raise DistutilsSetupError(tmpl.format(attr=attr, error=error))
示例6: __init__
# 需要導入模塊: import packaging [as 別名]
# 或者: from packaging import specifiers [as 別名]
def __init__(
self,
name: str,
author: str,
version: str = "",
license: str = "",
aea_version: str = "",
fingerprint: Optional[Dict[str, str]] = None,
fingerprint_ignore_patterns: Optional[Sequence[str]] = None,
):
"""
Initialize a package configuration.
:param name: the name of the package.
:param author: the author of the package.
:param version: the version of the package (SemVer format).
:param license: the license.
:param aea_version: either a fixed version, or a set of specifiers
describing the AEA versions allowed.
(default: empty string - no constraint).
The fixed version is interpreted with the specifier '=='.
:param fingerprint: the fingerprint.
:param fingerprint_ignore_patterns: a list of file patterns to ignore files to fingerprint.
"""
super().__init__()
assert (
name is not None and author is not None
), "Name and author must be set on the configuration!"
self.name = name
self.author = author
self.version = version if version != "" else DEFAULT_VERSION
self.license = license if license != "" else DEFAULT_LICENSE
self.fingerprint = fingerprint if fingerprint is not None else {}
self.fingerprint_ignore_patterns = (
fingerprint_ignore_patterns
if fingerprint_ignore_patterns is not None
else []
)
self.aea_version = aea_version if aea_version != "" else aea.__version__
self._aea_version_specifiers = self._parse_aea_version_specifier(aea_version)
self._directory = None # type: Optional[Path]