我使用這個代碼在Django
設置構建數據庫路徑蟒蛇的virtualenv無法訪問主目錄文件
from os.path import expanduser
defautl_db_path = expanduser("~")+"/db.sqlite3"
的代碼運行良好,如果我安裝的Django系統範圍內,但如果我跑裏面virtualenv
應用該應用程序拋出一個異常說unable to open database file
。
我該如何解決這個問題?
我使用這個代碼在Django
設置構建數據庫路徑蟒蛇的virtualenv無法訪問主目錄文件
from os.path import expanduser
defautl_db_path = expanduser("~")+"/db.sqlite3"
的代碼運行良好,如果我安裝的Django系統範圍內,但如果我跑裏面virtualenv
應用該應用程序拋出一個異常說unable to open database file
。
我該如何解決這個問題?
你檢查過程所有者主目錄的權限嗎? 這是真的,你使用的是Unix操作系統?
最有可能的django用戶是萬維網數據。
如果您選中此項,您可以嘗試通過向〜添加用戶名來解決特定用戶的主目錄。
from os.path import expanduser
defautl_db_path = expanduser("~www-data")+"/db.sqlite3"
在文檔寫的是:
os.path.expanduser(路徑) 在Unix和Windows,與起始成分返回參數〜或〜用戶通過該用戶的主目錄代替。
在Unix上,如果設置了初始值,則由環境變量HOME代替;否則通過內置模塊pwd在密碼目錄中查找當前用戶的主目錄。直接在密碼目錄中查找初始用戶。
你能確認'os.path.expanduser(「〜」)'的結果是否合適嗎?您可能需要爲virtualenv包裝配置env變量'WORKON_HOME'。 – sytech
我在virtualenv中打開了一個python shell會話,'os.path.expanduser('〜')'的輸出是正確的。 – Fanooos
你可以展示你的數據庫設置如何使用路徑 –