从命令行运行PyCharm项目
问题描述:
我想将我的项目部署到服务器并在那里运行。 当我尝试从命令行启动脚本时,它在导入处于parrent目录中的脚本时显示错误 。从命令行运行PyCharm项目
我使用PyCharm制作了项目(python 2.7.10),它分散到多个目录中。 个e-文件夹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
运行脚本,这意味着在运行Pyth时根据命令,你的相对参考是main_dir
。所以你的进口是根据main_dir
作为你的根。
这意味着,如果我们把你的例如SCRIPT1,您的进口应该是这样的:
from other_dir.script2 import *
机会是你的PyCharm项目的根实际上是设置为从
project/
运行这就是为什么你的引用在PyCharm中工作。
我建议你什么做的是,如果你的服务器应该是内main_dir
运行,那么你应该让其执行根源是为了消除这种混乱一样重新配置PyCharm。
答
在我的情况下,对这个问题的另一种解决方案是在触发程序的python项目的根目录中添加一个主要的 .py脚本。
项目/ __ main__.py:
from dir.subdir.other_dir.script2 import * //doesn't give errors
这意味着,从终端调用程序时工作区将是正确和脚本的每个包含将具有正确映射(从根)的文件夹。
项目/目录/子目录/ main_dir/script1.py:
from dir.subdir.other_dir.script2 import * //also doesn't give errors