I have already installed Psi4 following the instructions in Install v1.5+ | Installs but I can’t execute it.
I have Windows operational system and Python 3.8 so I’ve used the command:
conda install psi4 python=3.8 -c psi4 -c conda-forge
Than I ran the test:
There was one failure here:
Anaconda3\envs\PSI4\lib\site-packages\psi4\tests\test_psi4_qcschema.py::test_psi4_cc XFAIL (no AtomicInput o…) [ 57%]
The result of the test was:
=============================================== 40 passed, 51 skipped, 4029 deselected, 1 xfailed in 684.01s (0:11:24) ================================================
Now when I call psi4 at the prompt I receive:
Traceback (most recent call last):
File “C:\Users\me\Anaconda3\envs\psi4\Scripts\psi4-script.py”, line 221, in
raise KeyError(“The file %s does not exist.” % args[“input”])
KeyError: ‘The file input.dat does not exist.’
Can someone help me?
Ah, that’s an “XFAIL”, which is expected fail. “FAILED” would be an actual problem. I think all is well with your testing of the installation.
Now, when you call psi4 at the prompt, you need to have an input file. If there’s a file named
input.dat, psi will take that as the input. You might find the tutorial helpful, Psithon Tutorial: Using PSI4 as an Executable
Now I’ve been sucessfull running it as an executable but I still can’t run it as a module.
I enter a python environment (Ipython) and use the command:
Than I get the message:
ModuleNotFoundError: No module named ‘psi4’
When I run “conda list” in psi4 env at anaconda prompt psi4 is on the list. It shows:
Name Version Build Channel
psi4 1.6.1+5b9f6e3 py38_0 psi4
Should the channel be conda-forge?
When I enter a python environment where I want to import psi4 as a library and run “conda list” it doesn’t show psi4. How can I put psi4 there?
You need to conda install psi4 in every environment you want it to be in.
Now I can run psi4 in anaconda prompt as an executable and as a module when I call python.
But I can’t understand why I can’t run it in Ipython or in Jupyter notebook. Can you help me, please?