Message320765
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? |
|
Date |
User |
Action |
Args |
2018-06-30 10:07:43 | jonathan-lp | set | recipients:
+ jonathan-lp |
2018-06-30 10:07:43 | jonathan-lp | set | messageid: <1530353263.14.0.56676864532.issue34011@psf.upfronthosting.co.za> |
2018-06-30 10:07:43 | jonathan-lp | link | issue34011 messages |
2018-06-30 10:07:42 | jonathan-lp | create | |
|