擅长:python、mysql、java
<p>我研究了这个问题,尽管它与我遇到的错误不完全相同,但它帮助我解决了这个问题。我将解释我的情况,因为我认为一些用户可能会觉得这很方便。
因此,我得到了以下错误日志:</p>
<pre><code> Traceback (most recent call last):
File "/home/kemal/Programming/Python/Preference_Articulation/LocalSearch/LS_apriori.py", line 1, in <module>
from LocalSearch.LocalSearch import LocalSearch
ModuleNotFoundError: No module named 'LocalSearch.LocalSearch'; 'LocalSearch' is not a package
</code></pre>
<p>我的项目结构如下(使用PyCharm):
<a href="https://i.stack.imgur.com/keIAq.png" rel="nofollow noreferrer">View of project structure</a></p>
<p>需要注意的重要一点是,我将代码分为几个文件夹,因为这样可以使代码更具可读性。现在,在名为<strong>LocalSearch</strong>的文件夹中,我有4个文件,<strong>LocalSearch、LS_apriori</strong>和大约2个测试文件(不相关)。当尝试运行文件<strong>LS_apriori</strong>(使用文件LocalSearch中的方法和类)时,我遇到了上面提供的错误。代码并不重要,我处理导入的方式如下:</p>
<pre><code>from LocalSearch.LocalSearch import LocalSearch
</code></pre>
<p>解决办法很简单。我将py文件<strong>LocalSearch</strong>重命名为<strong>Local\u Search</strong>(刚刚添加了下划线)。后来,错误消失了</p>
<p>所以我的问题是拥有一个文件夹(包)和其中的一个文件(模块)同名,其中有一个同名的类。Python不喜欢这样。
在模块中使用与包同名的模块是可以的,但是,我想这个类只是增加了额外的混乱</p>