我有一个 Python 二进制文件,它使用 SQLite 作为其后端数据库。SQLite 的文档和代码建议设置以下 3 个环境变量中的任何一个都应该有效:
export TMP=/var/tmp/sqlite/
export TEMP=/var/tmp/sqlite/
export TEMPDIR=/var/tmp/sqlite/
如果我在启动 Python 二进制文件之前在我的 bash 脚本中导出上述变量,这将无济于事。
putenv()
我尝试的另一个选项是通过设置调用os.environ
:
os.environ['TMP'] = /var/tmp/sqlite/
os.environ['TEMP'] = /var/tmp/sqlite/
os.environ['TEMPDIR'] = /var/tmp/sqlite/
以上选项都没有帮助说服 SQLite/var/tmp/sqlite
用作其临时存储目录。唯一有效的选项(SQLite 的文档说已弃用)是设置temp_store_directory
pragma 语句:
PRAGMA temp_store_directory = '/egnyte/.work/sqlite_temp'
由于使用 pragma 语句不是我想做的选择,还有其他技巧吗?