-
-
Notifications
You must be signed in to change notification settings - Fork 255
Closed
Labels
Description
deepdiff should declare python_requires=">=3.4" or similar so that the packages uploaded to PyPI will be ignored by older Pythons. Otherwise, you run into issues like this:
~ $ python2.7 -m pip-run deepdiff
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Collecting deepdiff
Downloading https://files.pythonhosted.org/packages/4b/bd/d37df1dfb92149f85004a31c0d34f4988437788142b44dbaa014b6491192/deepdiff-4.0.0.tar.gz (43kB)
100% |████████████████████████████████| 51kB 309kB/s
Complete output from command python setup.py egg_info:
Python 2 is not supported anymore. The last version of DeepDiff that supported Py2 was 3.3.0
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/c6/v7hnmq453xb6p2dbz1gqc6rr0000gn/T/pip-install-rwx38m/deepdiff/
Traceback (most recent call last):
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/lib/python2.7/site-packages/pip-run.py", line 4, in <module>
__name__ == '__main__' and run()
File "/usr/local/lib/python2.7/site-packages/pip_run/__init__.py", line 18, in run
with deps.load(*deps.not_installed(pip_args)) as home:
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/local/lib/python2.7/site-packages/pip_run/deps.py", line 75, in load
_installable(args) and subprocess.check_call(cmd)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 190, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '('/usr/local/opt/python@2/bin/python2.7', '-m', 'pip', 'install', '-t', '/var/folders/c6/v7hnmq453xb6p2dbz1gqc6rr0000gn/T/pip-run-Ek0QU9', 'deepdiff')' returned non-zero exit status 1
If instead, deepdiff were to declare its dependency, pip (9 or later) would automatically filter out versions not valid on older platforms.
Without this feature, every downstream consumer is required to maintain an (un)conditional upper bound on the deepdiff version.
Since 4.0.0 was only recently released, can I ask that you please cut a new 4.0.1 release with this declaration and pull the 4.0.0 release so that Python 2.7 consumers aren't offered it?