我在main.py目录下的shell中运行带有“python main.py”的python脚本,它报告错误并停止。但是当我运行完整路径的相同脚本时,如“python / home / work / main.py“在相同的情况下,它被阻止,直到我用”Ctrl + C“中断它,当它被中断时报告错误。但是看起来是相同的,通常如果没有错误。
我不知道为什么,有人可以告诉我吗?
错误:
^CTraceback (most recent call last):
File "/home/work/video/fe/tvservice/main.py", line 17, in <module>
from conf.settings import DATABASE_TV, WEB_SERVER_CONFIG, DATABASE_TV_MASTER,DATABASE_TV_LOG_MASTER, ZOOKEEPER_CONFIG
File "/home/work/video/fe/tvservice/conf/settings.py", line 1
hello world
^
settings.py 你好世界
答案 0 :(得分:1)
如果您从完全执行相同的目录,并且您正在执行完全相同的文件,则大多数应该是相同的。您可能想到的差异是:
的价值sys.argv[0] # will be either '/home/work/main.py' or 'main.py'
请确保:
以下结果应该完全相同:
# Imports, so the commands will not fail
import os
import sys
# These should be the same in both cases - print them/log/whatever and compare
os.getcwd()
sys.path