蟒蛇*仅在服务器列表语法错误,代码本地客户机上工作正常

当我执行我的外部瓶服务器上我的代码,我得到以下服务器端错误:蟒蛇*仅在服务器列表语法错误,代码本地客户机上工作正常

2017-12-03 02:40:53 ", line 

2017-12-03 02:40:53 430

2017-12-03 02:40:53

2017-12-03 02:40:53

2017-12-03 02:40:53 combinedheader = ["Protein", "MW", *listheadersSpC, *listheadersNSAF, *listheadersloge]

2017-12-03 02:40:53

2017-12-03 02:40:53

2017-12-03 02:40:53^

2017-12-03 02:40:53 SyntaxError

2017-12-03 02:40:53 :

2017-12-03 02:40:53 invalid syntax

2017-12-03 02:40:53

这是行导致悲伤的代码:
combinedheader = ["Protein", "MW", *listheadersSpC, *listheadersNSAF, *listheadersloge]

在本地,代码运行得很好。还要注意的是,当在服务器上单独执行下面的代码返回没有错误:

list1 = ['a'] 

list2 = ['d' , 'e' , 'f']

list3 = ["Hi", "there", *list1, *list2]

print(list3)

Retuns:[ '您好', '有', '一个', 'd', 'E', 'F']

编辑:代码运行在使用Python的虚拟环境的Web应用程序上。 webapp和virtualenv python = 3.6。本地客户端运行相同版本的Python,相同的已安装模块。

回答:

代码os.system("python myscript.py")不会总是使用您当前的解释器。相反,它取决于环境变量。所以你必须明确指定解释器的绝对路径。

对于大多数情况,您可以使用sys.executable获取当前的翻译。然而,它不适用于uwsgi :-(其中sys.executable将返回uwsgi二进制文件的路径。因此,在这种情况下,您必须将可执行路径硬编码到virtualenv解释器,如下所示:os.system("path/to/venv/python myscript.py")

以上是 蟒蛇*仅在服务器列表语法错误,代码本地客户机上工作正常 的全部内容, 来源链接: utcz.com/qa/259329.html

回到顶部