OSError: [Errno 18] Invalid cross-device link

2020-06-06 08:08发布

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',
},

2条回答
beautiful°
2楼-- · 2020-06-06 08:35

I think rename only works when the source and target names are on the same file system. You probably have different mounts. Otherwise you get that error. You can implement the same effect with a copy and a delete.

Hope it helps

查看更多
成全新的幸福
3楼-- · 2020-06-06 08:44

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

查看更多
登录 后发表回答