PyCharm:将项目移动到姐妹文件夹中

时间:2014-10-14 11:23:54

标签: python django pycharm

我最近移动了现有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__))。下面的家伙有更好的解释。

1 个答案:

答案 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__))

看看是否能解决问题