OSError-Errno 13权限被拒绝

2024-04-25 00:34:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过管理页面上传图片,但它一直在说:

[Errno 13] Permission denied: '/path/to/my/site/media/userfolder/2014/05/26'

文件夹userfolder/2014/05/26在上载时动态创建。

在回溯中,我发现在执行此命令期间发生了错误:

在/usr/lib64/python2.6/os.py第157行。打电话时

mkdir(name, mode) 

也就是说,它不能创建任何文件夹,因为它没有这样做的权限

我在服务器上用OpenSuse作为操作系统。在httpd.conf中,我有:

<Directory /path/to/my/site/media>
   Order allow,deny
   Allow from all
</Directory>

我需要做些什么吗?


Tags: topath命令文件夹mysite图片页面
3条回答

您需要更改目录权限,以便web服务器进程可以更改目录。

  • 要更改目录的所有权,请使用chown

    chown -R user-id:group-id /path/to/the/directory
    
  • 要查看哪个用户拥有web服务器进程(相应地更改httpd):

    ps aux | grep httpd | grep -v grep
    

    或者

    ps -efl | grep httpd | grep -v grep
    

如果文件夹名称前面有斜线,也可能会发生这种情况:

path = '/folder1/folder2'

OSError: [Errno 13] Permission denied: '/folder1'

出现了一个错误,但这个很好:

path = 'folder1/folder2'

当base.py文件中的maybe_download函数调用发出下载请求时,可能会遇到问题。

临时文件的权限有冲突,我自己无法解决更改权限的方法,但可以解决此问题。

执行以下操作。。。

  • 从链接(http://yann.lecun.com/exdb/mnist/)下载MNIST数据集的四个.gz文件
  • 然后将文件夹命名为MNIST_data(或在tensorflow\examples文件夹中的工作目录/站点包文件夹中进行选择)。
  • 直接复制粘贴文件到文件夹中。
  • 复制文件夹的地址(可能是 (C:\ Python\Python35\Lib\site packages\tensorflow\examples\tutorials\mnist\mnist_data)
  • 将“\”更改为“/”,因为“\”用于转义字符,以访问文件夹位置。
  • 最后,如果您正在学习教程,则调用函数将是(mnist=input_data.read_data_sets(“mnist_data/”,one_hot=True)); 将“MNIST_data/”参数更改为文件夹位置。在我的例子中是(mnist=input_data.read_data_sets(“C/Python/Python35/Lib/site packages/tensorflow/examples/tutorials/mnist/mnist_data”,one_hot=True))

然后一切都结束了。 希望对你有用。

相关问题 更多 >