Python 将目录导入pycharm

Python 将目录导入pycharm,python,pycharm,Python,Pycharm,我正在尝试将遗留项目导入pycharm进行调试。 目录结构如下所示: 顶部文件夹-->文件夹一 顶部文件夹-->文件夹2 问题在于子文件夹中的程序使用: import top from top import module Pycharm返回错误:“没有名为top的模块” 如何解决这个问题?首先要确保的是按照游戏所说的去做,你需要确保每个代表一个包的文件夹都是通过放置一个\uuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy.py

我正在尝试将遗留项目导入pycharm进行调试。 目录结构如下所示:

顶部文件夹-->文件夹一

顶部文件夹-->文件夹2

问题在于子文件夹中的程序使用:

 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搜索项目中的所有模块/子文件夹?我们有一个非常高的目录结构,手动将所有文件夹设置为“源”非常困难。您不必将所有目录设置为源,只需设置根目录即可。如果你有多个根,你可能组织你的项目是错误的。