Python virtualenv无法访问主目录下的文件



我在Django设置中使用此代码来构建DB路径

from os.path import expanduser
defautl_db_path = expanduser("~")+"/db.sqlite3"

如果我在系统范围内安装Django,代码运行得很好,但是如果我在virtualenv中运行应用程序,应用程序会抛出一个异常说unable to open database file

我该如何解决这个问题?

是否检查了进程所有者主目录的权限?您使用的是Unix操作系统,是真的吗?

最可能的django用户是www-data。

如果您勾选了此选项,您可以尝试通过将用户名添加到~来解决特定用户的主目录。

from os.path import expanduser
defautl_db_path = expanduser("~www-data")+"/db.sqlite3"

在文档中是这样写的:

os.path.expanduser(路径)在Unix和Windows上,返回参数的初始组件为~或~user,由该用户的主目录替换。

在Unix上,如果设置了~,初始的~会被环境变量HOME取代;否则,将通过内置模块pwd在密码目录中查找当前用户的主目录。初始的~用户直接在密码目录中查找。

相关内容

最新更新