Multiple conflicts in requirements.txt
johannespitz opened this issue ยท 6 comments
When trying to create the conda environment, as described in the README.md I pip finds multiple conflicts with the selected packages (these problems also occur with the docker image)
I haven't been able to successfully test my installation, so I am not sure if this list is complete, but at least the following packages (of which some are explicitly "required" at that version) are conflicting:
ERROR: requests 2.20.1 has requirement urllib3<1.25,>=1.21.1, but you'll have urllib3 1.25.1 which is incompatible.
ERROR: botocore 1.12.130 has requirement urllib3<1.25,>=1.20; python_version >= "3.4", but you'll have urllib3 1.25.1 which is incompatible.
ERROR: awscli 1.16.140 has requirement PyYAML<=3.13,>=3.10, but you'll have pyyaml 5.1 which is incompatible.
ERROR: gym 0.15.4 has requirement cloudpickle~=1.2.0, but you'll have cloudpickle 1.1.1 which is incompatible.
ERROR: robosuite 0.1.0 has requirement mujoco-py<1.50.2,>=1.50.1, but you'll have mujoco-py 2.0.2.8 which is incompatible.
ERROR: dm-tree 0.1.2 has requirement six>=1.12.0, but you'll have six 1.11.0 which is incompatible.
ERROR: Cannot uninstall 'ruamel-yaml'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Thanks for raising this issue! I just put up a PR (https://github.com/rail-berkeley/softlearning/pull/121/files#diff-b4ef698db8ca845e5845c4618278f29aR1) yesterday that hopefully resolves these issues among other stuff. The main problem here is the ruamel-yaml
, which can be fixed temporarily by just removing the line from the requirements.
Thank you for looking at this so quickly!
Glad to hear that. I checked out your PR and was now able to successfully install the packages.
Is there a particular reason why you haven't merged this PR yet? (Maybe even one I could help with?) Since it would be nice if the master branch was working as well :)
Note: The docker image still doesn't work due to the -e .
in the requirements.txt
ERROR: File "setup.py" not found. Directory cannot be installed in editable mode: /tmp
(because you copy this file to /tmp) not sure what's the best way to fix that...
Is there a particular reason why you haven't merged this PR yet?
No particular reason. I just had to run some experiments to make sure that there are no (major) regressions. It should get merged in a minute once I've gone through the code once more.
Maybe even one I could help with?
There's nothing in the current PR that needs to be done anymore as I want to get it in asap. Any other contributions to other issues would be very much appreciated though! There's a huge backlog of things that could be implemented (not all of them are in the issues but I'll try to add them there soon) but I'm just so constrained by time that I have to prioritize things that will speed up my own research.
Any feature requests or feedback would also be super useful! I'd love to hear if there's anything that could be done better ๐
The docker image still doesn't work due to the
-e .
in the requirements.txt
Ah, this is really annoying. I don't really know what the best way to handle the -e .
is. I wonder if the whole CLI thing is a bit of an overkill. Would it make sense to remove the -e .
from the requirements?
Ah, this is really annoying. I don't really know what the best way to handle the
-e .
is. I wonder if the whole CLI thing is a bit of an overkill. Would it make sense to remove the-e .
from the requirements?
I am not an expert with docker, but couldn't you just do conda env update -f ./environment.yml
without having to copy it to /tmp/
If that doesn't work, then I would probably just remove the -e .
from the requirements again
just do
conda env update -f ./environment.yml
This wouldn't work since the softlearning files don't exist on the image at the time of running this without explicitly copying everything over. I guess this would ultimately be the right way to go but I'll just remove the -e .
for now and take a look at this later. This means that for now you have to manually pip install -e .
inside the docker container.
Hopefully I can find some time in the near future to clean the whole cli and experiment launching stuff to make it more usable for others ๐
Sounds reasonable, and I understand that this is not your top priority ๐
I'll close this issue, since the conflicts are now solved by your PR #121