我正在尝试 $ssh$ 一个 python 程序。该代码求解大量微分方程,计算一些感兴趣的参数,并应使用 numpy
函数 npumpy.savetxt
将这些写入文件。
当我保持登录状态时,这工作得很好,但计算通常需要很长时间,所以我希望它们在后台运行,而我在生活中做更有趣的事情。我尝试使用 GNU screen,它在登录时工作正常,但是当我分离 screen 并注销时,计算错误并显示错误消息:
Traceback (most recent call last):
File "programme.py", line 66, in <module>
File "/path-to-python/Python/lib/python3.4/site-
packages/numpy/lib/npyio.py", line 1022, in savetxt
fh = open(fname, 'wb')
PermissionError: [Errno 13] Permission denied: 'filename.txt'
我认为这与我注销计算机时卸载文件有关。有人有解决此问题或类似问题的经验吗?
如果您需要任何澄清,请告诉我。
ps。为了能够安装所有适当的软件包,我必须本地安装 python 3.4.2——我不认为这是问题的原因,但我可能是错的。
最佳答案
我想您已经找到了答案,但我发布此解决方案是因为我遇到了同样的问题,其他人可能也对此感兴趣。
进入 screen 后,使用 sudo 运行程序:
$ sudo pythonprogram.py
然后,您可以使用 numpy.savetxt
分离并退出 ssh session ,而不会出现任何权限错误。
关于python - 使用 GNU screen 时的权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28795375/