When I try to run my program from the PyCharm IDE everything works fine but if I type in Fedora:
python myScript.py
in a shell prompt I get
You might have set some project dependency in Pycharm for module myDependency. You can access the same in Fedora by importing the module explicitly or by creating the egg of that module and installing it. This will then go to python site-packages from where you can refer this dependency.
As a first step, in PyCharm go to project settings / python interpreter, and note the path. Then compare that to the result of which python
-- do they line up? If not, you need to make them do so.
If that's ok, check what PyCharm defines as your project root in project settings / project structure. Is that the directory where your script is located? If not, you should run the script from that directory or append the directory to the $PYTHONPATH
variable.
Almost definitely, it's one of those two things.
Adding this worked for me:
from os import sys, path
sys.path.append(path.dirname(path.dirname(path.abspath(__file__))))
There are a few possible things that can be causing this:
import sys; print(sys.executable)
import os; print(os.getcwd())
sys.path
, which is the list python searches sequentially for import locations, can possibly caused by environment variables. Check with import sys; print(sys.path)
.