arfc / d3ploy

A collection of Cyclus manager archetypes for demand driven deployment
BSD 3-Clause "New" or "Revised" License
4 stars 11 forks source link

Installation Issue #293

Closed abachma2 closed 2 years ago

abachma2 commented 2 years ago

I am trying to install d3ploy onto my machine but it isn't installing properly

Details about my machine and observations:

I think d3ploy isn't getting linked to cyclus properly, but I'm not sure why. I have reinstalled everything on a clean conda environment and I am still getting the error.

munkm commented 2 years ago

Hi @abachma2 ! Do you think you can post a full traceback of the error as a gist or something? I think it would be helpful to see that.

Is there a debug build you can do for d3ploy? It might help bump up the verbosity if there's a linking error.

abachma2 commented 2 years ago

That error message I posted is message I get out of Cyclus. When I run the d3ploy tests I get: subprocess.CalledProcessError: Command '['cyclus', '-o', 'test_tech_pref_two.sqlite', 'test_tech_pref_two.json']' returned non-zero exit status 1. from one specific tests. Which I think is happening because of the error that Cyclus returns. All of the tests fail, and produce this error or sqlite3.OperationalError: no such table: agententry When an output is queried (because the output is blank, because Cyclus didn't run)

I don't know about a debug build. I have been using the --verbose flag when installing but it doesn't say much more than the files it is copying, the functions (?) it's running, and the byte-compiling.

gwenchee commented 2 years ago

What's the error when you run pytest?

gwenchee commented 2 years ago

Also can you share the output for the d3ploy install

abachma2 commented 2 years ago

Is the output written to a file, or do you want just the terminal output? I edited my last comment to be more clear on the errors given during the tests

gwenchee commented 2 years ago

terminal output

gwenchee commented 2 years ago

Yeah it definitely didn't install properly. The terminal output for the d3ploy install will be helpful for debugging

abachma2 commented 2 years ago

running install running build running build_py package init file 'd3ploy/__init__.py' not found (or not a regular file) creating build creating build/lib creating build/lib/d3ploy copying d3ploy/DO_solvers.py -> build/lib/d3ploy copying d3ploy/ML_solvers.py -> build/lib/d3ploy copying d3ploy/NO_solvers.py -> build/lib/d3ploy copying d3ploy/demand_driven_deployment_inst.py -> build/lib/d3ploy copying d3ploy/demand_fac.py -> build/lib/d3ploy copying d3ploy/deployment_inst.py -> build/lib/d3ploy copying d3ploy/deterministic_inst.py -> build/lib/d3ploy copying d3ploy/plotter.py -> build/lib/d3ploy copying d3ploy/solver.py -> build/lib/d3ploy copying d3ploy/supply_driven_deployment_inst.py -> build/lib/d3ploy copying d3ploy/tester.py -> build/lib/d3ploy package init file 'd3ploy/__init__.py' not found (or not a regular file) running install_lib creating /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/DO_solvers.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/ML_solvers.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/NO_solvers.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/demand_driven_deployment_inst.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/demand_fac.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/deployment_inst.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/deterministic_inst.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/plotter.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/solver.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/supply_driven_deployment_inst.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy copying build/lib/d3ploy/tester.py -> /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/DO_solvers.py to DO_solvers.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/ML_solvers.py to ML_solvers.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/NO_solvers.py to NO_solvers.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/demand_driven_deployment_inst.py to demand_driven_deployment_inst.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/demand_fac.py to demand_fac.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/deployment_inst.py to deployment_inst.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/deterministic_inst.py to deterministic_inst.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/plotter.py to plotter.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/solver.py to solver.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/supply_driven_deployment_inst.py to supply_driven_deployment_inst.cpython-36.pyc byte-compiling /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy/tester.py to tester.cpython-36.pyc running install_egg_info Writing /home/abachmann/anaconda3/envs/cyclus-env/lib/python3.6/site-packages/d3ploy-0.0.1-py3.6.egg-info

gwenchee commented 2 years ago

You should investigate why the init file can't be found? package init file 'd3ploy/__init__.py' not found (or not a regular file)

abachma2 commented 2 years ago

I noticed that earlier and created a blank file of that name, but that didn't seem to fix things. Is there supposed to be something in that file? I didn't have this issue when installing on my machine at UIUC.

gwenchee commented 2 years ago

Did you see this issue? https://github.com/arfc/d3ploy/issues/278

abachma2 commented 2 years ago

I did not see that issue, and it helped a lot in figuring things out. I created a clean environment, rebuilt cyclus/cycamore, and then used some of the steps in that issue before I build d3ploy. Specifically the conda channel to install arch, and making sure conda installed libopenblas. I think I was missing some combination of those two packages, but it wasn't showing that I was missing them. Thanks for the help @gwenchee and @munkm

munkm commented 2 years ago

Wooo! I'm glad you got it figured out! Do you think since you encountered a similar issue as the previous issue, we should recommend the steps listed in the issue somewhere in the docs? Would that have helped you?

abachma2 commented 2 years ago

Probably. I was planning on updating the README at some point to be a little easier to read. I can include some of this in that update.

gwenchee commented 2 years ago

@abachma2 Glad you figured it out! It might be worth adding some logic to the install script to be more verbose when dependencies aren't properly installed.

abachma2 commented 2 years ago

I think overall there is a fair amount of dev work that could be done on this. I'm not sure if there is anyone that will be able to do it, especially with most of the original creators gone and knowledge transfer ability decreasing.