most-wire-83210
07/25/2017, 3:23 PMmost-wire-83210
07/25/2017, 3:24 PMmost-wire-83210
07/25/2017, 3:24 PMenough-analyst-54434
07/25/2017, 3:25 PMenough-analyst-54434
07/25/2017, 3:25 PMmost-wire-83210
07/25/2017, 3:29 PMmost-wire-83210
07/25/2017, 3:30 PMenough-analyst-54434
07/25/2017, 3:34 PMInterpreter.with_extras
.enough-analyst-54434
07/25/2017, 3:41 PMRequirement
class actually comes from the pkg_resources module which should be provided by setuptools, and is fwict:
$ zipinfo -1 setuptools-33.1.1-py2.py3-none-any.whl | grep pkg_resources
pkg_resources/__init__.py
pkg_resources/_vendor/__init__.py
pkg_resources/_vendor/appdirs.py
pkg_resources/_vendor/pyparsing.py
pkg_resources/_vendor/six.py
pkg_resources/_vendor/packaging/__about__.py
pkg_resources/_vendor/packaging/__init__.py
pkg_resources/_vendor/packaging/_compat.py
pkg_resources/_vendor/packaging/_structures.py
pkg_resources/_vendor/packaging/markers.py
pkg_resources/_vendor/packaging/requirements.py
pkg_resources/_vendor/packaging/specifiers.py
pkg_resources/_vendor/packaging/utils.py
pkg_resources/_vendor/packaging/version.py
pkg_resources/extern/__init__.py
enough-analyst-54434
07/25/2017, 3:42 PMpkg_resources/__init__.py
there is very fancy and does the expected thing, exposing a Requirement
class with a specifier
attribute.enough-analyst-54434
07/25/2017, 3:49 PM$ ~/.pyenv/versions/2.7.13/bin/python
Python 2.7.13 (default, Feb 15 2017, 09:53:46)
[GCC 6.3.1 20170109] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pkg_resources
>>> pkg_resources.__file__
'/home/jsirois/.pyenv/versions/2.7.13/lib/python2.7/site-packages/pkg_resources/__init__.pyc'
>>> 'specifier' in dir(pkg_resources.Requirement.parse('foo==1.0.0'))
True
>>>
most-wire-83210
07/25/2017, 5:02 PMmost-wire-83210
07/25/2017, 5:03 PMmost-wire-83210
07/25/2017, 5:03 PMacceptable-kitchen-41259
07/25/2017, 5:30 PMmost-wire-83210
07/25/2017, 5:41 PMenough-analyst-54434
07/25/2017, 5:48 PMmost-wire-83210
07/25/2017, 5:49 PMmost-wire-83210
07/25/2017, 5:49 PMstraight-waiter-86090
07/25/2017, 6:09 PMstraight-waiter-86090
07/25/2017, 6:09 PMrough-minister-58256
07/25/2017, 6:27 PMrough-minister-58256
07/25/2017, 6:28 PMrough-minister-58256
07/25/2017, 6:28 PMastonishing-jelly-60479
07/25/2017, 7:56 PMastonishing-jelly-60479
07/25/2017, 7:56 PMrough-minister-58256
07/25/2017, 8:08 PMrough-minister-58256
07/25/2017, 8:08 PM