web-dev-qa-db-fra.com

OSError: [Errno 18] Lien inter-périphérique incorrect

Je travaille avec Django 1.6.5 et python 2.7. J'ai la fonction d'importation dans mon application et j'obtiens une erreur:

OSError: [Errno 18] Invalid cross-device link

J'ai un problème avec cette partie du code:

os.rename(db_temp, settings.DATABASES['bookmat']['NAME'])

code dans les paramètres:

'bookmat': {
    'ENGINE': 'Django.db.backends.sqlite3',
    'NAME': '/my_projects/book/db/bookmat.sqlite3',
},
27
mark

os.rename ne fonctionne que si la source et la destination se trouvent sur le même système de fichiers. Tu devrais utiliser shutil.move au lieu.

45
butesa

Je pense que renommer ne fonctionne que lorsque les noms source et cible se trouvent sur le même système de fichiers. Vous avez probablement différentes montures. Sinon, vous obtenez cette erreur. Vous pouvez implémenter le même effet avec une copie et une suppression.

J'espère que ça aide

2
Tiago Almeida