python - with - Visibilidad de los módulos de extensión os.environ a C
using sqlite with python (1)
Si cambio la variable de entorno usando os.environ
, ¿los módulos que importo después ven ese cambio?
Específicamente, sqlite3
requiere el uso de una variable de entorno para determinar su ubicación de archivo temporal. Pero si uso os.environ[''SQLITE_TMPDIR''] = ''.''
antes de import sqlite3
, no tiene el efecto deseado. ¿Por qué?
El módulo sqlite3
es solo un contenedor para la biblioteca SQLite C, por lo que no verá directamente ningún cambio realizado en os.environ
.
Sin embargo, la documentación dice:
Si la plataforma admite la función putenv () , esta asignación se puede usar para modificar el entorno y consultar el entorno. putenv () se invocará automáticamente cuando se modifique la asignación.
Entonces, si la biblioteca SQLite se inicializa después de haber cambiado os.environ
, verá los cambios.
Tenga en cuenta que SQLite lee diferentes variables de entorno en los sistemas operativos Unix-y y en Windows .