OSError: [Errno 18] Invalid cross-device link

mark picture mark · Feb 22, 2017 · Viewed 37.5k times · Source

I'm working with django 1.6.5 and python 2.7. I have import feature in my app and I get error:

OSError: [Errno 18] Invalid cross-device link

I have problem with this part of code:

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

code in settings:

'bookmat': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': '/my_projects/book/db/bookmat.sqlite3',
},

Answer

butesa picture butesa · May 14, 2017

os.rename only works if source and destination are on the same file system. You should use shutil.move instead.