我正在尝试将我的项目部署到服务器并在那里运行它.
当我尝试从命令行启动脚本时,它显示错误
导入parrent目录中的脚本时.
我使用PyCharm创建了项目(python 2.7.10),它被分散到多个目录中.
文件夹loock fimetnihg像这样:
项目/目录/子目录/ main_dir / script1.py
from dir.subdir.other_dir.script2 import * //gives error here
项目/目录/子目录/ other_dir / script2.py
def my_function():
//do something
我通过转到main_dir并运行:python script1.py来运行脚本
最佳答案
如果从main_dir运行脚本,这意味着在运行Python命令时,相对引用是main_dir.所以你的导入是关于main_dir作为你的根.
这意味着如果我们以您的脚本1为例,您的导入应如下所示:
from other_dir.script2 import *
机会是您的PyCharm项目根目录设置为从中运行
project/
这就是你的引用在PyCharm中工作的原因.
我建议你做的是,如果你的服务器应该在main_dir中运行,那么你应该重新配置PyCharm,以便它的执行根是相同的,以消除这种混乱.