Ik probeer een afbeelding te uploaden via de beheerderspagina, maar hij zegt steeds:
[Errno 13] Permission denied: '/path/to/my/site/media/userfolder/2014/05/26'
de mappen userfolder/2014/05/26
worden dynamisch aangemaakt tijdens het uploaden.
In Traceback ontdekte ik dat de fout optreedt tijdens deze opdracht:
In /usr/lib64/python2.6/os.py regel 157. tijdens het bellen
mkdir(name, mode)
wat betekent dat het geen map kan maken omdat het geen toestemming heeft om dit te doen
Ik heb OpenSuse als besturingssysteem in Server. In httpd.conf heb ik dit:
<Directory /path/to/my/site/media>
Order allow,deny
Allow from all
</Directory>
Moet ik iets chmodden of chownen?
Antwoord 1, autoriteit 100%
U moet de directorymachtiging wijzigen zodat het webserverproces de directory kan wijzigen.
-
Gebruik
chown
om het eigendom van de directory te wijzigen:chown -R user-id:group-id /path/to/the/directory
-
Om te zien welke gebruiker eigenaar is van het webserverproces (wijzig
httpd
dienovereenkomstig):ps aux | grep httpd | grep -v grep
OF
ps -efl | grep httpd | grep -v grep
Antwoord 2, autoriteit 42%
Dit kan ook gebeuren als er een schuine streep voor de mapnaam staat:
path = '/folder1/folder2'
OSError: [Errno 13] Permission denied: '/folder1'
heeft een fout maar deze werkt prima:
path = 'folder1/folder2'
Antwoord 3, autoriteit 2%
Waarschijnlijk ondervindt u een probleem wanneer een downloadverzoek wordt gedaan door de functie-aanroep misschien_download in het bestand base.py.
Er is een conflict in de machtigingen van de tijdelijke bestanden en ik kon zelf geen manier vinden om de machtigingen te wijzigen, maar ik kon het probleem omzeilen.
Doe het volgende…
- Download de vier .gz-bestanden van de MNIST-dataset via de link ( http://yann .lecun.com/exdb/mnist/)
- Maak vervolgens een map met de naam MNIST_data (of uw keuze in uw werkmap/sitepakkettenmap in de map tensorflow\voorbeelden).
- Kopieer de bestanden direct in de map.
- Kopieer het adres van de map (waarschijnlijk zal dat zo zijn)
( C:\Python\Python35\Lib\site-packages\tensorflow\examples\tutorials\mnist\MNIST_data)) - Verander de “\” in “/” aangezien “\” wordt gebruikt voor escape-tekens om toegang te krijgen tot de maplocaties.
- Ten slotte, als je de tutorials volgt, zou je oproepfunctie zijn ( mnist = input_data.read_data_sets(“MNIST_data/”, one_hot=True) );
verander de parameter “MNIST_data/”in uw maplocatie. Zoals in mijn geval zou zijn ( mnist = input_data.read_data_sets(“C:/Python/Python35/Lib/site-packages/tensorflow/examples/tutorials/mnist/MNIST_data”, one_hot=True) )
Dan is alles klaar.
Ik hoop dat het voor je werkt.
Antwoord 4, autoriteit 2%
Een andere optie is om ervoor te zorgen dat het bestand ergens anders op uw computer is geopend.
Antwoord 5, Autoriteit 2%
Probeer eenvoudigweg:
sudo cp /source /destination
Antwoord 6, Autoriteit 2%
Het antwoord van @ Falsetru aanvullen: ID uitvoeren in de terminal om uw user_id en groep_id
te krijgen
Ga de map / partitie waar u tegenover de uitdaging staat.
Open terminal, type ID en druk vervolgens op ENTER.
Dit toont u uw user_id en groep_id
Typ vervolgens
chown -R user-id:group-id .
Vervang de gebruikers-ID en groep-ID
.
Aan het einde geeft de huidige partitie / Repository
aan
// chown -r 1001: 1001. (Dat was mijn zaak)
Antwoord 7
Sluit gewoon het bestand in het geval deze op de achtergrond wordt geopend. De fout verdwijnt op zichzelf