How to import python file located in same subdirectory in a pycharm project
调试和运行时,pycharm中出现输入错误。
我的项目结构已正确地建立
我在HW3中有一个子文件夹
在
1 | from util.util import my_functions, etc. |
这会产生输入错误
ImportError: No module named 'util.util'; 'util' is not a package
但是,在完全相同的项目中,在名为
显然,我是在做作业的过程中这样做的,所以请理解:这是对作业范围的辅助。
当我将文件移到另一个目录时,问题消失了。所以我想这个问题是如何导入位于pycharm项目同一目录中的python文件?因为pycharm如果执行
推荐方式:
确保将工作文件夹设置为
您可以在
选择您的工作文件夹并将其标记为
1 | import filename.py |
要么
1 | from filename.py import mudule1 |
=================
不推荐的方式:
在
1 | from .util import my_functions |
如果您没有
1 | from util.util import my_function |
然后您可以轻松地将模块导入脚本中
在大多数情况下,
引用文档
The __init__.py files are required to make Python treat the
directories as containing packages; this is done to prevent
directories with a common name, such as string, from unintentionally
hiding valid modules that occur later on the module search path. In
the simplest case, __init__.py can just be an empty file, but it can
also execute initialization code for the package or set the __all__
variable, described later.
右键单击要标记为源的文件夹>将目录标记为>源根。
就我而言,仅当我省略扩展名时它才起作用。例:
1 | import filename |
我在pycharm中遇到了同样的问题,但是实际的错误是我尝试导入的文件没有.py扩展名,即使我能够将其作为独立脚本运行。在资源管理器窗口中查找并确保其扩展名为.py。如果不是,请在资源管理器窗口中右键单击该文件,选择"重构",然后使用.py扩展名重命名。
注意:可能有点无关。
我遇到了同样的问题,但是在运行jupyter笔记本时(这里的目录没有__init__.py),我无法在同一目录(而不是OP要求的子目录)中导入模块。奇怪的是,我已经设置了python路径和解释器的位置以及所有内容。其他答案均无济于事,但在python中更改目录确实有用。
1 2 | import os os.chdir(/path/to/your/directory/) |
我在
在Pycharm中转到"运行-配置",然后取消选中
'将内容根添加到Pythonpath'和
"将源根添加到Pythonpath",
然后使用
1 | from filename import functionname |