【发布时间】:2018-02-17 09:58:23
【问题描述】:
几天前我已经发布了类似的问题,但那次只是通过用绝对路径替换手动路径来解决,这次我再次遇到了类似的问题,我尝试了很多东西,但没有任何效果。我该如何解决这个问题
这是我抛出错误的观点:
def Pep_Str_Des(request):
#return render(request, 'PepStructure/Structure.html', {})
if request.method == 'POST':
form = Pep_str_Des(request.POST)
if form.is_valid():
val = form.cleaned_data['Input_peptide']
pep_list = []
for v in val.split(','):
if len(val.split(',')[0]) <= 17:
if len(val.split(',')[0]) == len(v):
pep_list.append(v)
print v
df = pd.DataFrame({'col_1':pep_list})
print df
#file_path = os.path.join(os.path.dirname(__file__),'Input.csv')
df.to_csv(os.path.join(os.path.dirname(__file__),'Input.csv'), index = False)
os.environ['Input_file'] = os.path.join(os.path.dirname(__file__),'Input.csv')
os.environ['out_file'] = os.path.join(os.path.dirname(__file__),'Out_file.csv')
os.environ['cmds'] = os.path.join(os.path.dirname(__file__),'Structure_bassed_Descriptor_generation.py')
os.system("python $cmds -p $Input_file -d $out_file")
f_ns = glob.glob(os.path.join(os.path.dirname(__file__),'strs')+"/*.pdb")
for f in f_ns:
os.remove(f)
f_ns = glob.glob(os.path.join(os.path.dirname(__file__),'strs')+"/*.sdf")
for f in f_ns:
os.remove(f)
return render(request, 'Structure_Descriptor/Out.html', {'val':val} )
else:
Input_peptide = 'ELIKAHLPDVALLDYRM,RYMKYLTGCAKLFRQGY,TGRVPLDQMSWVTPARW,IVKAVLDCAKGRDVVAP,QTRFANAPIRWLHADIM,GYRPDPATGAVNVPIYA'
form = Pep_str_Des(initial={'Input_peptide': Input_peptide})
return render(request, 'Structure_Descriptor/Des.html', {'form':form})
错误:
IOError at /Pep_Str_Des/
[Errno 13] Permission denied: '/home/pep_web/Structure_Descriptor/Input.csv'
Request Method: POST
Request URL: http://93.188.167.63:8080/pep_learn/Pep_Str_Des/
Django Version: 1.10.8
Exception Type: IOError
Exception Value:
[Errno 13] Permission denied: '/home/pep_web/Structure_Descriptor/Input.csv'
Exception Location: /usr/lib/python2.7/dist-packages/pandas/io/common.py in _get_handle, line 356
Python Executable: /usr/bin/python
Python Version: 2.7.12
Python Path:
['/home/pep_web',
'/usr/local/lib/python2.7/dist-packages/Django-1.10.8-py2.7.egg',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0']
Server time: Sat, 17 Feb 2018 09:49:35 +0000
【问题讨论】:
-
好吧,一开始可能不是一个合适的问题,但您是在虚拟环境中运行它吗?好像权限乱了。
-
不,它没有与 virtualenv 一起运行
-
Ok Jax,让我们尝试通过键入“virtualenv YOURPROJECTNAME”来创建一个 virtualenv,然后获取环境“source YOURPROJECTNAME/bin/activate”。一旦您在虚拟环境中开始安装项目所需的 python 包,而无需使用 sudo,例如“pip install pandas”
-
仅供参考,将您需要访问的文件存储在您的项目下,您不必随着时间的推移显式更改权限......祝您好运
-
你能解释一下这个“你必须随着时间的推移显式更改权限”我不太明白,我是一个初学者:(
标签: python django apache django-models django-templates