已有文件
两个文件,分别为:
1. print_a_tensor.py,使用torch打印一个张量:
def show_tensor():
try:
import torch
except:
print('Nope.\n')
else:
x= torch.Tensor(2,2)
print(x)
if __name__ == '__main__':
show_tensor()
2. activate_torch.sh,用于使用1的文件的脚本:
#!/bin/sh
log="sh_record.txt"
#注意这里是反引号,即tab键上面的那个
py_file=`python print_a_tensor.py`
echo $py_file > $log
双击.sh脚本后输出到日志中:
解决:?
因为是默认环境没有装torch,自然没用,如果只是单纯的加上conda activate xxx是无效的,现提供三种可行的方法,注意我这里的pytorch是conda中的虚拟环境名。
第一种:
#!/bin/sh
log="sh_record.txt"
#加上这个语句,根据你自己的conda路径进行相应修改,注意斜杠变化
source C:/ProgramData/Anaconda3/Scripts/activate pytorch
py_file=`python print_a_tensor.py`
echo $py_file > $log
结果:
根据参考[2],这个方法在Mac OSX下也可以使用。
第二与第三种,只涉及一个修改,一起放上了:
#!/bin/sh
log="sh_record.txt"
#以下两个使用任意一个即可,同样注意路径与斜杠的调整
#method-1:
source C:/ProgramData/Anaconda3/etc/profile.d/conda.sh
conda activate pytorch
#method-2:
#eval "$(conda shell.bash hook)"
#conda activate pytorch
py_file=`python print_a_tensor.py`
echo $py_file > $log
结果:
?就这。
参考:
[1]Github的方法
[2]Stack Overflow的方法
|