NASA-PDS / doi-service

Service and tools for generating DOIs for PDS bundles, collections, and data sets
https://nasa-pds.github.io/doi-service
Other
2 stars 3 forks source link

Installation instructions are not entirely clear, and come back with issues about incompatible libraries in python 11 #430

Closed jordanpadams closed 1 month ago

jordanpadams commented 2 months ago

đź’ˇ Description

From a user:

1) there is one incomplete section in "Usage"; 2) there are inconsistencies between sections; 3) there is some fairly sloppy typing in some key places where the text was clearly never even read over by the author, let alone anyone else.

> python3 -V
Python 3.11.5

There seem to be a lot of errors related to libraries being a later version than expected for some reason, like this one:

conda-repo-cli 1.0.75 requires clyent==1.2.1, but you have clyent 1.2.2 which is incompatible.

As well as some dependency mismatches in the other direction (expects newer, finds older). I was expecting them all to be either too old or too new. How you end up with incompatible dependencies in both directions I couldn't begin to guess. Is all of this code being maintained? Is any of it? Does it depend on a specific distribution of python3?

Most puzzling, I have no idea what the install process thinks it actually "succeeded" in doing when it ultimately declared "Success" The Installation instructions strangely direct me to run the install inside the hidden directory ".venv", which does then contain a subdirectory called "pds-doi-service", but inside that all I see is this:

icarus> pwd
/path/to/venv/pds-doi-service
icarus> ls
total 4
drwxrwxr-x. 2 raugh comets 168 May  2 17:58 bin
drwxrwxr-x. 3 raugh comets  24 May  2 17:58 include
drwxrwxr-x. 3 raugh comets  24 May  2 17:58 lib
lrwxrwxrwx. 1 raugh comets   3 May  2 17:58 lib64 -> lib
-rw-rw-r--. 1 raugh comets 253 May  2 17:58 pyvenv.cfg
icarus>

And the bin/ directory here only contains activation scripts, which an earlier box on the installation page says should not be used. When I attempt to determine where the pds_doiservice.ini file should be created using the method on the Installation page, it tells me I need to install it in the (protected) system directories, which more than defeats the purpose of creating a virtual environment.

⚔️ Parent Epic / Related Tickets

No response

acraugh commented 1 month ago

Here are some specific notes about differences between the installation/configuration directions and what I needed to do to get things to work on my RHEL 8 workstation.

In the Installation section:

In the Configuration section:

In the Running the Service section:

I could not test whether the command ran properly without explicitly activating the venv, or indeed at all, because of the lack of documentation for the configuration file fields. I did not attempt to start the API because I'm working remotely and can't access any servers running on the remote machine because of University firewall rules. I would be hesitant to do that without the configuration file documentation in any event.