• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

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

python 来源:PeptideWitch 4次浏览

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

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")


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)