Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JOSS: Installation Instructions #167

Closed
abhiramm7 opened this issue Jul 19, 2021 · 5 comments · Fixed by #179
Closed

JOSS: Installation Instructions #167

abhiramm7 opened this issue Jul 19, 2021 · 5 comments · Fixed by #179
Assignees
Labels
bug Something isn't working

Comments

@abhiramm7
Copy link

Hi, I am following the installation instructions in the documentation and pip install abmarl is causing the following error,

ERROR: Cannot install abmarl==0.1.1 and abmarl==0.1.2 because these package versions have conflicting dependencies.

The conflict is caused by:
    abmarl 0.1.2 depends on ray[rllib]==1.2.0
    abmarl 0.1.1 depends on ray[rllib]==1.2.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

This is in OS X and python 3.9. I was able to install the package by removing ray[rllib]==1.4.0 in the requirements. Is there a specific reason that Abmarl requires version 1.4.0? if not, consider replacing the == with >=. It also seems like there is a discrepancy between the dependency in the pypi.

@rusu24edward
Copy link
Collaborator

Hi @abhiramm7,

Thanks for bringing this to my attention. It sounds like you tried to install abmarl from pip after having already installed ray[rllib] 1.4.0. I just tested the installation in a clean virtual environment, and I did not have any error. Here is what I did:

python3 -m venv my_venv
source my_venv/bin/activate
pip install --upgrade pip # Make sure you have newest version of pip
pip install abmarl

No conflict there.

To answer your question about the versioning: The released version (branch Abmarl-87-interface-release) uses Ray 1.2.0, but our main branch (which is our development branch) is relying on version 1.4.0. This is because there is new content in our main branch that relies on features in ray 1.4.0 that did not exist in 1.2.0. That is why there is a discrepancy. The version of abmarl on pypi comes from the release branch 87.

@abhiramm7
Copy link
Author

Hi @rusu24edward, thanks for looking into this. I am still getting this when I try to install it in a new virtual environment. Please see attached.
Screen Shot 2021-07-27 at 10 02 34 AM

I am on
Screen Shot 2021-07-27 at 10 06 38 AM

@rusu24edward
Copy link
Collaborator

I was able to duplicate this error with Python 3.9, although mine shows a conflict with tf 2.4.0. I'll investigate and make the necessary changes. Thanks for bringing this to my attention!

@rusu24edward rusu24edward self-assigned this Jul 27, 2021
@rusu24edward rusu24edward added the bug Something isn't working label Jul 27, 2021
@rusu24edward
Copy link
Collaborator

Python 3.9 does not have wheels for ray 1.2.0 or tensorflow 2.4.0. When we try to install Abmarl, pip will try the latest version, which will fail, and then try the previous version, which will also fail. Pip only has python 3.9 wheels for tensorflow 2.5.0+ and ray 1.4.1+. The release was built against ray 1.2.0 and tensorflow 2.4.0. We ensure that our releases will work against the dependencies we test them on, and so I believe the best solution is to specify Python 3.7 in Abmarl's setup for the initial release and work to get it running on newer versions for future releases (we already have the dev branch working on ray 1.4.0)

@rusu24edward
Copy link
Collaborator

@abhiramm7 because of breaks in newer versions of our dependencies (namely ray), we are restricted from upgrading abmarl to the newest version of ray dependencies, which keeps us from running on python 3.9 (see note above). I've added better version specification to the setup and documentation--we support python 3.7 and 3.8. I've tested this and released Abmarl 0.1.3 to Pypi, which should have the correct dependencies. Now, if you try to install abmarl with python 3.9, you will get an error. Installations using python versions 3.7 and 3.8 should work just fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants