问题
I have a project structured this way...
main.py imports scripts from subfolders like so:
from controllers.available_balances_controller import available_balances_controller
Subfolders:
- models
- views
- controllers
When running main.py in Pycharm it works find.
When I try to run in terminal I get import errors:
Traceback (most recent call last):
File "main.py", line 6, in <module>
from controllers.available_balances_controller import available_balances_controller
ImportError: No module named controllers.available_balances_controller
Am I importing the scripts wrong in main.py?
What is the proper way to do the importing?
回答1:
Try running your script with the -m flag:
$ python -m main
That means that you are running your main.py
as a module inside a python package, not as a simple script. PyCharm makes it easy for you by assuming so when you create a project. When you are in the terminal, you need to specify it yourself. You don't need __init__.py
files inside your directories in Python3.
Check out:
- https://docs.python.org/3/reference/import.html
- Relative imports in Python 3
来源:https://stackoverflow.com/questions/36909785/imports-not-found-when-running-script-outside-of-pycharm