Nohup与Anaconda ipython失败了

时间:2018-06-08 20:55:28

标签: linux python-3.x anaconda nohup

我正在尝试使用Anaconda IPython的“nohup”命令运行代码。 如果我在ipython环境中运行它,我的代码运行正常(几个小时);

irsacf00-debian:~/WISE_AP> ipython
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: %run WISE_PHOT_052918_MODULER_IRSACF.py

但是,当我尝试使用“nohup”运行相同的代码时,它会出现以下错误消息(最后2行)。这是从输出文件粘贴的副本。

[[0;31mOSError^[[0m: [Errno 5] Input/output error

In [2]: Do you really want to exit ([y]/n)?

我的nohup命令看起来像这样;

irsacf00-debian:~/WISE_AP> nohup ipython <input_file> output_file &

我的输入文件如下所示;

%run /home/aprakash/WISE_AP/WISE_PHOT_052918_MODULER_IRSACF.py 

我无法弄清楚代码卡在哪里。谢谢你的帮助!

最佳, ABHI

1 个答案:

答案 0 :(得分:0)

无论何时启动Anaconda Environment,它都会粘在您的shell上,从而使ipython可用。 (对于默认环境也是如此。) nohup的任务是从启动它的外壳中分离出一个进程。

执行以下操作:编写一个shell脚本,该脚本首先将conda绑定到其shell,然后使用ipython启动程序。请注意,conda并不支持所有shell,因此请使用bash。我的版本如下:

#!/bin/bash
source /home/yOURuSERnAME/miniconda3/etc/profile.d/conda.sh
conda activate YourCondaEnvironment
ipython SomeProgramOfYours.py

(第一行强制使用必要的conda兼容shell。第二行我自己是from Stackoverflow :) Here是与第三行结合使用的另一种方法。第四行是您亲自尝试给nohup的内容。

另存为Filename.sh,开始使用nohup:

chmod +x Filename.sh
nohup ./Filename.sh &