Hello, We have an wheelhouse index inheriting from pypi to house binary wheels (target environments do not have a compiler). How would I remove an offending wheel based on platform? -------------- $ devpi remove msgpack_python==0.4.6 About to remove the following releases and distributions version: 0.4.6 - https://devpypi.inhouse.com/root/wheelhouse/+f/14f/95fae22b1b552/msgpack_pyt... - https://devpypi.inhouse.com/root/wheelhouse/+f/cc5/e4c85dda75123/msgpack_pyt... # this is what I would like to remove (and only this) --------------- using pep 508 environment specifiers errors out: devpi remove 'msgpack_python==0.4.6; sys_platform="linux"' $ devpi remove 'msgpack_python==0.4.6;sys_platform="linux"' Traceback (most recent call last): File "F:\Python2.7.12\Lib\runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "F:\Python2.7.12\Lib\runpy.py", line 72, in _run_code exec code in run_globals File "F:\venv\Scripts\devpi.exe\__main__.py", line 9, in <module> File "f:\venv\lib\site-packages\devpi\main.py", line 32, in main return method(hub, hub.args) File "f:\venv\lib\site-packages\devpi\list_remove.py", line 123, in main_remove req = parse_requirement(args.spec) File "f:\venv\lib\site-packages\devpi_common\metadata.py", line 152, in parse_requirement return Requirement.parse(s) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2918, in parse req, = parse_requirements(s) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2866, in parse_requirements yield Requirement(line) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2875, in __init__ raise RequirementParseError(str(e)) pkg_resources.RequirementParseError: Invalid requirement, parse error at "';sys_pla'" Thanks, D.
hi David, On Wed, Mar 29, 2017 at 18:42 -0000, David Genest wrote:
Hello,
We have an wheelhouse index inheriting from pypi to house binary wheels (target environments do not have a compiler).
How would I remove an offending wheel based on platform?
-------------- $ devpi remove msgpack_python==0.4.6 About to remove the following releases and distributions version: 0.4.6 - https://devpypi.inhouse.com/root/wheelhouse/+f/14f/95fae22b1b552/msgpack_pyt... - https://devpypi.inhouse.com/root/wheelhouse/+f/cc5/e4c85dda75123/msgpack_pyt... # this is what I would like to remove (and only this) ---------------
using pep 508 environment specifiers errors out:
devpi remove 'msgpack_python==0.4.6; sys_platform="linux"'
i am afraid there i no other way currently than removing all 0.4.6 ones and re-uploading the ones that are ok ... not sure how easily your "devpi remove ..." command could be made to work or if we need a different syntax ... holger
$ devpi remove 'msgpack_python==0.4.6;sys_platform="linux"' Traceback (most recent call last): File "F:\Python2.7.12\Lib\runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "F:\Python2.7.12\Lib\runpy.py", line 72, in _run_code exec code in run_globals File "F:\venv\Scripts\devpi.exe\__main__.py", line 9, in <module> File "f:\venv\lib\site-packages\devpi\main.py", line 32, in main return method(hub, hub.args) File "f:\venv\lib\site-packages\devpi\list_remove.py", line 123, in main_remove req = parse_requirement(args.spec) File "f:\venv\lib\site-packages\devpi_common\metadata.py", line 152, in parse_requirement return Requirement.parse(s) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2918, in parse req, = parse_requirements(s) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2866, in parse_requirements yield Requirement(line) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2875, in __init__ raise RequirementParseError(str(e)) pkg_resources.RequirementParseError: Invalid requirement, parse error at "';sys_pla'"
Thanks,
D. _______________________________________________ devpi-dev mailing list devpi-dev@python.org https://mail.python.org/mm3/mailman3/lists/devpi-dev.python.org/
Ah ;-( that is inconvenient. I don't know how hard would be to support pep 508. devpi seems to be using pkg_resrouces and should support pep 508.... Thanks.
On Wed, Mar 29, 2017 at 21:35 +0200, holger krekel wrote:
hi David,
On Wed, Mar 29, 2017 at 18:42 -0000, David Genest wrote:
Hello,
We have an wheelhouse index inheriting from pypi to house binary wheels (target environments do not have a compiler).
How would I remove an offending wheel based on platform?
-------------- $ devpi remove msgpack_python==0.4.6 About to remove the following releases and distributions version: 0.4.6 - https://devpypi.inhouse.com/root/wheelhouse/+f/14f/95fae22b1b552/msgpack_pyt... - https://devpypi.inhouse.com/root/wheelhouse/+f/cc5/e4c85dda75123/msgpack_pyt... # this is what I would like to remove (and only this) ---------------
using pep 508 environment specifiers errors out:
devpi remove 'msgpack_python==0.4.6; sys_platform="linux"'
i am afraid there i no other way currently than removing all 0.4.6 ones and re-uploading the ones that are ok ... not sure how easily your "devpi remove ..." command could be made to work or if we need a different syntax ...
would it help if you could copy-paste the urls above and issue: devpi remove https://devpypi.inhouse.com/root/wheelhouse/+f/cc5/e4c85dda75123/msgpack_pyt... to remove the link also from the simple index? i think it's possible to implement this because we have back links from the archive files to the release metadata which links to all archive files but haven't checked. First wanted to check if that UI would even help you ... holger
holger
$ devpi remove 'msgpack_python==0.4.6;sys_platform="linux"' Traceback (most recent call last): File "F:\Python2.7.12\Lib\runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "F:\Python2.7.12\Lib\runpy.py", line 72, in _run_code exec code in run_globals File "F:\venv\Scripts\devpi.exe\__main__.py", line 9, in <module> File "f:\venv\lib\site-packages\devpi\main.py", line 32, in main return method(hub, hub.args) File "f:\venv\lib\site-packages\devpi\list_remove.py", line 123, in main_remove req = parse_requirement(args.spec) File "f:\venv\lib\site-packages\devpi_common\metadata.py", line 152, in parse_requirement return Requirement.parse(s) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2918, in parse req, = parse_requirements(s) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2866, in parse_requirements yield Requirement(line) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2875, in __init__ raise RequirementParseError(str(e)) pkg_resources.RequirementParseError: Invalid requirement, parse error at "';sys_pla'"
Thanks,
D. _______________________________________________ devpi-dev mailing list devpi-dev@python.org https://mail.python.org/mm3/mailman3/lists/devpi-dev.python.org/
_______________________________________________ devpi-dev mailing list devpi-dev@python.org https://mail.python.org/mm3/mailman3/lists/devpi-dev.python.org/
Hello again, devpi remove https://devpypi.inhouse.com/root/wheelhouse/+f/cc5/e4c85dda75123/msgpack_pyt... causes pkg_resources to error out: Traceback (most recent call last): File "F:\Python2.7.12\Lib\runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "F:\Python2.7.12\Lib\runpy.py", line 72, in _run_code exec code in run_globals File "F:\venv\Scripts\devpi.exe\__main__.py", line 9, in <module> File "f:\venv\lib\site-packages\devpi\main.py", line 32, in main return method(hub, hub.args) File "f:\venv\lib\site-packages\devpi\list_remove.py", line 123, in main_remove req = parse_requirement(args.spec) File "f:\venv\lib\site-packages\devpi_common\metadata.py", line 152, in parse_requirement return Requirement.parse(s) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2918, in parse req, = parse_requirements(s) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2866, in parse_requirements yield Requirement(line) File "f:\venv\lib\site-packages\pkg_resources\__init__.py", line 2875, in __init__ raise RequirementParseError(str(e)) pkg_resources.RequirementParseError: Invalid requirement, parse error at "'://pypi.'"
On Thu, Mar 30, 2017 at 12:41 -0000, David Genest wrote:
Hello again,
devpi remove https://devpypi.inhouse.com/root/wheelhouse/+f/cc5/e4c85dda75123/msgpack_pyt...
causes pkg_resources to error out:
sure. But if it worked, would that be sufficient for your use case? holger
Yes, allowing exact addressability in the remove UI would be sufficient. But using the entire URL sounds a bit unnatural, and users might not think to use this form. Supporting the deletion through the exact package name would be best in my opinion: devpi remove msgpack_python-0.4.6-cp27-none-linux_x86_64.whl Of course if both (url and wheel/package_name) could be supported (for automation purposes, the full url is returned by list for example), this would be best.
On Thu, Mar 30, 2017 at 16:02 -0000, David Genest wrote:
Yes, allowing exact addressability in the remove UI would be sufficient.
But using the entire URL sounds a bit unnatural, and users might not think to use this form.
Supporting the deletion through the exact package name would be best in my opinion:
devpi remove msgpack_python-0.4.6-cp27-none-linux_x86_64.whl
Of course if both (url and wheel/package_name) could be supported (for automation purposes, the full url is returned by list for example), this would be best.
ok. This requires changes both on the client and server side i think. You may open an issue describing the desired behaviour and/or try to do a PR which does it. holger
participants (2)
-
David Genest
-
holger krekel