-
Notifications
You must be signed in to change notification settings - Fork 5
Description
If a requirement appears in the output of rg.pydumpreqs but is not installed due to a bad specification in gears run statement, "export-requirements --all" will fail trying to export the metadata for the incomplete requirement.
For example if UNBLOCKING Is specified as a trailing argument:
rg.pyexecute 'GB().run()' requirements numpy UNBLOCKING
This entry will appear in the output of rg.pydumpreqs:
127.0.0.1:6379> rg.pydumpreqs
-
- "GearReqVersion"
- (integer) 1
- "Name"
- "UNBLOCKING"
- "IsDownloaded"
- "no"
- "IsInstalled"
- "no"
- "CompiledOs"
- "linux-buster-x64"
- "Wheels"
- "Requirement was not yet downloaded so wheels are not available"
-
- "GearReqVersion"
- (integer) 1
- "Name"
- "gearsclient==1.0.1"
- "IsDownloaded"
- "yes"
- "IsInstalled"
- "yes"
- "CompiledOs"
- "linux-buster-x64"
- "Wheels"
-
- "gearsclient-1.0.1-py3-none-any.whl"
- "redis-3.5.3-py2.py3-none-any.whl"
- "cloudpickle-1.6.0-py3-none-any.whl"
-
- "GearReqVersion"
- (integer) 1
- "Name"
- "pandas"
- "IsDownloaded"
- "yes"
- "IsInstalled"
- "yes"
- "CompiledOs"
- "linux-buster-x64"
- "Wheels"
-
- "pytz-2020.1-py2.py3-none-any.whl"
- "numpy-1.19.2-cp37-cp37m-manylinux2010_x86_64.whl"
- "python_dateutil-2.8.1-py2.py3-none-any.whl"
- "six-1.15.0-py2.py3-none-any.whl"
- "pandas-1.1.2-cp37-cp37m-manylinux1_x86_64.whl"
-
- "GearReqVersion"
- (integer) 1
- "Name"
- "numpy"
- "IsDownloaded"
- "yes"
- "IsInstalled"
- "yes"
- "CompiledOs"
- "linux-buster-x64"
- "Wheels"
-
- "numpy-1.19.2-cp37-cp37m-manylinux2010_x86_64.whl"
resulting in this:
$ python3 gcli.py export-requirements --port 6379 --all --save-directory exports
failed exporting requirement (Requirement was not installed yet)
If there is no way to remove the incomplete entry then the good requirements have to be exported one at a time. In a large environment this could be very time consuming. The documentation does not show a way to delete individual entries as a way to clean this up.