python语法错误在尝试导入包时,但仅在远程运行时

2024-06-16 11:39:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下脚本:

  1. 你知道吗测试.py地址:

    import sys
    try:
        import random
        print random.random()
    except:
        print sys.exc_info()[0]
    
  2. 你知道吗运行.sh地址:

    python "test.py" >> "test_file" ;
    

在我的linux服务器上运行以下命令时:

[saray@compute-0-15 ~]$  nohup ./run.sh  &

测试文件包括预期的随机数:

[saray@compute-0-15 ~]$  cat test_file
0.923051769631 

但是,当使用以下命令远程运行同一命令时:

[saray@blob-cs ~]$ ssh "compute-0-15" 'nohup ./run.sh > /dev/null 2>&1 &'

python无法上传随机包!!你知道吗

[saray@compute-0-15 ~]$ cat test_file
exceptions.SyntaxError

怎么了?你知道吗


Tags: runpytestimport命令地址shsys
1条回答
网友
1楼 · 发布于 2024-06-16 11:39:37

您的远程计算机正在运行不同的Python版本python3。你知道吗

在python3中,print语句被替换为print函数,代码抛出语法错误。你知道吗

解决方法是要么用Python 2远程运行代码,要么使代码与Python 2和Python 3兼容:

from __future__ import print_function
import sys

import random
print(random.random())

相关问题 更多 >