Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python*仅在服务器上列出语法错误,代码在本地客户端上运行正常_Python_Flask_Python 3.6 - Fatal编程技术网

python*仅在服务器上列出语法错误,代码在本地客户端上运行正常

python*仅在服务器上列出语法错误,代码在本地客户端上运行正常,python,flask,python-3.6,Python,Flask,Python 3.6,在外部flask服务器上执行代码时,会出现以下服务器端错误: 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 0

在外部flask服务器上执行代码时,会出现以下服务器端错误:

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=[“蛋白质”、“分子量”、*listheadersSpC、*listheadersNSAF、*listheadersloge]

在本地,代码运行良好。还要注意,在服务器上单独执行以下代码时,不会返回错误:

list1 = ['a']
list2 = ['d' , 'e' , 'f']
list3 = ["Hi", "there", *list1, *list2]
print(list3)
复述:['Hi','there','a','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”)

我认为您在服务器上使用了错误的python版本(可能是2.x)。您最好确认服务器python的版本号。谢谢;我在发布问题之前检查了它。服务器:版本3.6。本地:版本3.6Ah,但您可能了解一些情况。也许我在服务器上设置的虚拟环境没有正确传递我的代码。只需再次检查,主服务器使用2.7.6,而我的虚拟环境使用3.6.可能是这样;将返回报告。好的,我的webapp正在运行3.6,与关联的虚拟环境相同,即使服务器bash为2.xPython 3也不会引发此类异常。您可以添加
import sys;print(sys.version)
在那一行之前,看看哪个解释器正在准确地执行代码。工作非常出色,谢谢你指导我完成这个过程