我最近移动了现有PyCharm项目所在的文件夹。我的脚本管道现在正在将其他脚本识别为模块。我收到的错误代码如下:
Traceback (most recent call last):
File "/Users/donaldvetal/anaconda/lib/python2.7/site-
packages/IPython/core/interactiveshell.py", line 2883, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-4-84c563cce2e6>", line 4, in <module>
import performTopicAnalysis as ta
ImportError: No module named performTopicAnalysis
在这种情况下,我将perfromTopicAnalysis.py文件作为导入调用我的另一个名为dt_company.py的文件。另请注意,这些脚本位于同一目录中。所有这些脚本都位于django项目的app文件夹中。
为什么会发生这种情况,这可能是一个很好的解决方案?谢谢!
编辑:
底线解决方案:在init.py文件中添加sys.path.append(os.path.realpath('./'))或sys.path.append(os.path.realpath(__ file__))。下面的家伙有更好的解释。
答案 0 :(得分:0)
也许你的库文件夹不在syspath上。 Pycharm在syspath中插入项目的根文件夹,不会直接添加子文件夹。如果要调用文件夹中的任何模块,则必须在导入时使用module.submodule表示法。例如:
在:
/
main.py
file1.py
file2.py
从main.py ,使用import file1
后:
/
main.py
module/
__init__.py
file1.py
file2.py
从main.py ,使用import module.file1
如果在file1和file2之间他们自己调用并且现在它无法正常工作,请记住python正在运行的目录(可能是root用户)是他要查找库的目录。
一种解决方案是将module
路径添加到syspath中。
在__init__.py
import os
import sys
sys.path.append(os.path.dirname(__file__))
看看是否能解决问题