ishiland / ArcGIS-License-Tracker

A Flask application for Esri concurrent use license tracking
MIT License
4 stars 4 forks source link

Possible conflict of versions in requirements.txt? #4

Open rylincoln opened 3 years ago

rylincoln commented 3 years ago

Hi. Thanks for writing this software. I set it up years ago for a team and they love it. I was migrating the tool over to a new server (Windows 2019 Datacenter) and I couldn't get the first command we run after initial setup to execute. python manage recreate_db would always return an AttributeError can't set attribute coming from flask.

I ended up resolving it by updating versions of flask-sqlalchemy and sqlalchemy to latest versions than what are defined in the requirements.txt file.

Just wanted to put this out there if someone else runs into this issue.

Cheers

ishiland commented 3 years ago

@rylincoln thanks for the report. Unfortunately I don't have access to a license server so its difficult for me to reproduce the issue. If your change passes the tests, ill gladly accept a PR.

rylincoln commented 3 years ago

Sure thing, - i'll work on running the tests and repot back once i get lmutil.exe talking to the license server (pretty sure this is an internal IT issue).

geographic-technologies-group commented 3 years ago

@rylincoln & @ishiland - I also experienced the "AttributeError can't set attribute" error described. This was on a Windows 2019 server and a License Manager at version 2020.0.

Updating the versions of flask-sqlalchemy and sqlalchemy to latest versions also resolved the issue for me.

I'm going to log another issue as I believe there have been changes to the structure of the FlexNet response that cause the app to improperly identify the License Server as being down.

tylerschlachter commented 1 year ago

With Flask-SQLAlchemy==2.4.1:

SQLAlchemy==1.4.41 fails with AttributeError can't set attribute

SQLAlchemy == 1.3.24 works

@geographic-technologies-group - I agree that the FlexNet response has likely changed. I made a PR with a slightly more flexible app.read_licenses.parse_server_info that may fix the issue for you.