New submission from Jonathan <bugrepo...@lightpear.com>:
I don't know if this is a bug or an odd design decision or just something that hasn't been considered or maybe I'm missing something. On Windows and I create a venv with Python 3.6.3: > python -m venv venv This creates a subdirectory called /venv. Inside this, there's: ./venv/Scripts/sqlite3.dll This is the sqlite library - except it's not, because Python isn't using this file. If I upgrade this library by replacing it with a newer sqlite3.dll version, Python keep using the original version of the library. Turns out, Python is by default reading the DLL in the root Python install: c:\Python36\DLLs\sqlite3.dll Now, I can change that file and sure enough my VENV (*all* VENVs) then get the newer version of SQLite, or I can delete that file and the VENV's will all use their local versions, or I can possibly play with some sys.path to try and get the VENV version loaded first. But this raises a few questions: 1) This seems like a rather odd default - copying a file that is never used by default. 2) Surely either the correct option is to use the VENV version by default? 3) Otherwise, what's the point in copying across this DLL file into the VENV by default? ---------- messages: 320765 nosy: jonathan-lp priority: normal severity: normal status: open title: Default preference not given to venv DLL's versions: Python 3.6 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34011> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com