Python 将目录导入pycharm
我正在尝试将遗留项目导入pycharm进行调试。 目录结构如下所示: 顶部文件夹-->文件夹一 顶部文件夹-->文件夹2 问题在于子文件夹中的程序使用:Python 将目录导入pycharm,python,pycharm,Python,Pycharm,我正在尝试将遗留项目导入pycharm进行调试。 目录结构如下所示: 顶部文件夹-->文件夹一 顶部文件夹-->文件夹2 问题在于子文件夹中的程序使用: import top from top import module Pycharm返回错误:“没有名为top的模块” 如何解决这个问题?首先要确保的是按照游戏所说的去做,你需要确保每个代表一个包的文件夹都是通过放置一个\uuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy.py
import top
from top import module
Pycharm返回错误:“没有名为top的模块”
如何解决这个问题?首先要确保的是按照游戏所说的去做,你需要确保每个代表一个包的文件夹都是通过放置一个
\uuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy.py
文件来完成的,该文件是一个空的python文件,名为\uuuuuuuuuuuuuuuuuuuuuuuuuuuuu
第二件需要注意的事情是,如果pycharm不知道该目录,pycharm喜欢抱怨导入的代码。进入项目解释器配置并进入路径,添加不在项目中或解释器正下方的路径引用
要添加的另一件事是,通过右键单击表示根目录的文件夹并单击“将目录标记为…”>“源根目录”来设置项目代码的源根目录。我遇到了相同的问题,但这不是由于缺少init.py文件造成的。
原因是,项目中有两个同名模块,因此PyCharm不知道如何导入。奇怪的是PyCharm只在运行时报告这个错误
我的项目文件:
source root1
|-- moduleA
|-- __init__.py
|-- A.py
source root2
|-- moduleA
|-- __init__.py
|-- B.py
实际上,源root1是我的代码,而源root2是我的测试代码
因此,解决方案是更改测试模块名称
source root1
|-- moduleA
|-- __init__.py
|-- A.py
source root2
|-- testmoduleA
|-- __init__.py
|-- B.py
您的顶部文件夹是否有\uuuu init\uuuu.py
文件?如果没有,那么它就不是一个模块。有没有办法告诉PyCharm搜索项目中的所有模块/子文件夹?我们有一个非常高的目录结构,手动将所有文件夹设置为“源”非常困难。您不必将所有目录设置为源,只需设置根目录即可。如果你有多个根,你可能组织你的项目是错误的。