我正在尝试下面的代码:
sas = saspy.SASsession(cfgname='ssh', resutls='html',cfgfile='/Users/saumya.rb/opt/anaconda3/lib/python3.7/site-packages/saspy/sascfg.py')错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/saumya.rb/opt/anaconda3/lib/python3.7/site-packages/saspy/sasbase.py", line 415, in __init__
self.sascfg = SASconfig(**kwargs)
File "/Users/saumya.rb/opt/anaconda3/lib/python3.7/site-packages/saspy/sasbase.py", line 130, in __init__
SAScfg = self._find_config(cfg_override=kwargs.get('cfgfile'))
File "/Users/saumya.rb/opt/anaconda3/lib/python3.7/site-packages/saspy/sasbase.py", line 267, in _find_config
SAScfg = importlib.import_module(tempname)
File "/Users/saumya.rb/opt/anaconda3/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 724, in exec_module
File "<frozen importlib._bootstrap_external>", line 860, in get_code
File "<frozen importlib._bootstrap_external>", line 791, in source_to_code
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/var/folders/pr/w_hplw1j7bl0vj2yj97_dd5mv3j_2t/T/tmp1bi7td8v/sascfg005.py", line 88
'ssh' : '/usr/bin/ssh',
^
SyntaxError: invalid syntax请分享我的细节,如我应该使用哪个python版本。我的sascfg.py应该是什么样子?
我在darwin上使用Python 3.7.4 (默认,Aug 13 2019,15:17:50) Clang 4.0.1 (tags/RELEASE_401/final) ::Anaconda,Inc.
using below config :
default = {'saspath' : '/sashome/compute/SASFoundation/9.4/sas'
'ssh' : '/usr/bin/ssh',
'options' : ["-fullstimer", "-autoexec", "/SAS9.4/SASConfig_bkp/compute/Lev1/SASApp/StoredProcessServer/autoexec.sas"],
'autoexec' : "libname mylib '/ngs/app/sasp';",
'host' : 'remote.linux.host',
'options' : ["-fullstimer"]
}
#ssh = {'saspath' : '/opt/sasinside/SASHome/SASFoundation/9.4/bin/sas_en',
# 'ssh' : '/usr/bin/ssh',
# 'host' : 'remote.linux.host',
# 'encoding': 'latin1',
# 'options' : ["-fullstimer"]
# }
#
ssh = {'saspath' : '/sashome/compute/SASFoundation/9.4/sas'
'ssh' : '/usr/bin/ssh',
'options' : ["-fullstimer", "-autoexec", "/ngs/app/sasp/SAS9.4/SASConfig_bkp/compute/Lev1/SASApp/StoredProcessServer/autoexec.sas"],
'autoexec' : "libname mylib '/ngs/app/sasp';",
'host' : 'remote.linux.host',
'options' : ["-fullstimer"]
}发布于 2020-03-26 02:04:07
您得到的错误是因为字典条目之间缺少逗号:
ssh = {'saspath‘:’/sashome/计算/SASFoundation/9.4/sas‘'ssh’:'/usr/bin/ssh',
在您的路径规范后需要一个逗号。
至于autoexec,选项中列出的是用于加载和运行远程SAS会话的选项,而saspy autoexec是在会话启动并连接之后将为您提交的内容。所以,这是两个稍有不同的东西。
添加逗号,去掉这个语法错误,看看会得到什么。
谢谢,汤姆
发布于 2020-04-09 02:48:07
现在解决在修复语法错误之后收到的错误。AttributeError:模块'os‘没有' waitid’属性STDIO访问方法使用此waitid方法,但它不在Python版本中。我修改了访问方法,使用waitpid而不是waitid,它解决了这个问题,现在这个访问方法在Mac客户端上工作。具体地说,它是通过SSH的STDIO,因为SAS不能在Mac上本地运行。有关此修复的详细信息,请参阅saspy issue https://github.com/sassoftware/saspy/issues/288。
这段代码目前是主版本,但它将在我构建的下一个版本中发布;V3.3.5正在研究另一个问题,以确保它不是特定于Mac的。一旦这个问题得到解决,我将构建这个新的版本。
Saumya Ranjan,你能验证这个修复吗?
谢谢,汤姆
https://stackoverflow.com/questions/60759702
复制相似问题