OSError: [Errno 18] Invalid cross-device link

泄露秘密 提交于 2019-12-22 01:12:34

问题


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

回答1:


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




回答2:


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



来源:https://stackoverflow.com/questions/42392600/oserror-errno-18-invalid-cross-device-link

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!