ruamel_yaml.constructor.ConstructorError: could not determine a constructor for the tag tag:yaml.org,2002:python/tuple in
It seems that the
environment.yml was written at a time when conda used
yaml.load but it has since switched to
Remove yaml load warnings by using yaml.safe_load instead of yaml.load.
Fix NoneType object is not iterable error when includes is empty.
You can try to remove
!!python/tuple (and also
!!python/unicode, that doesnt do anything) from the
environment.yml however it is unclear why it is there in the first place, it may give you another error.
!!python/tuple does it that it instructs YAML to load the following sequence not as list, but as tuple. One reason why one would do that is when the loaded value will be used in a hashed data structure (dict or set), since tuples are hashable while lists arent. However that is usually done when the value is already used an a mapping within the YAML file, which is not the case here.
The reason why you get the error is because
yaml.safe_load uses the safe loader, which does not, like the old „dangerous“ loader, call arbitrary constructors (as that is a security problem). Therefore, you cannot load tuples with it.
I ran into the same problem. Removing
!!python/unicode does not necessarily fix the problem. Theres no need to run it in a conda environment. I pip installed all the packages that are listed in the top of
ActivityNet/Crawler/Kinetics/download.py, downloaded ffmpeg using
apt -y update && apt -y install ffmpeg, and ran
python download.py ./data/kinetics-400_train.csv ./DirName and that worked for me (I also edited the code by adding
download.py when ffmpeg throws an error).