Mijn vraag
Zoals je ziet lijkt Zsh eerst wel de goede Flask uit de venv te pakken, echter pakt die toch de globaal geïnstalleerde Flask wanneer ik hem probeer uit te voeren (wat ik kan bevestigen als ik in mijn app een module probeer te importeren die ik niet globaal geïnstalleerd heb). Dit terwijl als eerste in mijn $PATH de venv staat, en daar ook flask te vinden is als executable. Als ik echter een nieuw tabblad in mijn terminal emulator open en daarin de venv weer activeer, heb ik geen last van dit probleem meer. Waardoor komt dit en hoe los ik dit op?
Relevante software en hardware die ik gebruik
- Debian GNU/Linux Unstable
- Zsh 5.6.2-3
Wat ik al gevonden of geprobeerd heb
Ik heb geprobeerd om in een schone chroot (gemaakt met debootstrap) hetzelfde te doen, maar daar heb ik exact hetzelfde resultaat.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| $ python3 -m venv .venv $ . .venv/bin/activate $ pip install -e . Obtaining file:///home/iemanddieboosis/raar Collecting flask (from raar==0.0.0) Using cached https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl Collecting click>=5.1 (from flask->raar==0.0.0) Using cached https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl Collecting Jinja2>=2.10 (from flask->raar==0.0.0) Using cached https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl Collecting itsdangerous>=0.24 (from flask->raar==0.0.0) Using cached https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl Collecting Werkzeug>=0.14 (from flask->raar==0.0.0) Using cached https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask->raar==0.0.0) Using cached https://files.pythonhosted.org/packages/e4/c4/adcc2d6f2ac2146cc04e076f14f1006c1de8e1e747fa067668b6573000b8/MarkupSafe-1.1.0-cp37-cp37m-manylinux1_x86_64.whl Installing collected packages: click, MarkupSafe, Jinja2, itsdangerous, Werkzeug, flask, raar Running setup.py develop for raar Successfully installed Jinja2-2.10 MarkupSafe-1.1.0 Werkzeug-0.14.1 click-7.0 flask-1.0.2 itsdangerous-1.1.0 raar $ which flask /home/iemanddieboosis/raar/.venv/bin/flask $ FLASK_APP=raar flask --version Flask 1.0.2 Python 3.7.2rc1 (default, Dec 12 2018, 06:25:49) [GCC 8.2.0] $ which flask /usr/bin/flask $ /home/iemanddieboosis/raar/.venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/iemanddieboosis/.gopath/bin:/home/iemanddieboosis/.config/composer/vendor/bin:/home/iemanddieboosis/.fzf/bin $ ls -hal /home/iemanddieboosis/raar/.venv/bin total 44K drwxr-xr-x 1 iemanddieboosis iemanddieboosis 184 Dec 21 19:35 . drwxr-xr-x 1 iemanddieboosis iemanddieboosis 66 Dec 21 19:35 .. -rw-r--r-- 1 iemanddieboosis iemanddieboosis 2.2K Dec 21 19:35 activate -rw-r--r-- 1 iemanddieboosis iemanddieboosis 1.3K Dec 21 19:35 activate.csh -rw-r--r-- 1 iemanddieboosis iemanddieboosis 2.4K Dec 21 19:35 activate.fish -rwxr-xr-x 1 iemanddieboosis iemanddieboosis 256 Dec 21 19:35 easy_install -rwxr-xr-x 1 iemanddieboosis iemanddieboosis 256 Dec 21 19:35 easy_install-3.7 -rwxr-xr-x 1 iemanddieboosis iemanddieboosis 234 Dec 21 19:35 flask -rwxr-xr-x 1 iemanddieboosis iemanddieboosis 238 Dec 21 19:35 pip -rwxr-xr-x 1 iemanddieboosis iemanddieboosis 238 Dec 21 19:35 pip3 -rwxr-xr-x 1 iemanddieboosis iemanddieboosis 238 Dec 21 19:35 pip3.7 lrwxrwxrwx 1 iemanddieboosis iemanddieboosis 7 Dec 21 19:35 python -> python3 lrwxrwxrwx 1 iemanddieboosis iemanddieboosis 16 Dec 21 19:35 python3 -> /usr/bin/python3 |
Zoals je ziet lijkt Zsh eerst wel de goede Flask uit de venv te pakken, echter pakt die toch de globaal geïnstalleerde Flask wanneer ik hem probeer uit te voeren (wat ik kan bevestigen als ik in mijn app een module probeer te importeren die ik niet globaal geïnstalleerd heb). Dit terwijl als eerste in mijn $PATH de venv staat, en daar ook flask te vinden is als executable. Als ik echter een nieuw tabblad in mijn terminal emulator open en daarin de venv weer activeer, heb ik geen last van dit probleem meer. Waardoor komt dit en hoe los ik dit op?
Relevante software en hardware die ik gebruik
- Debian GNU/Linux Unstable
- Zsh 5.6.2-3
Wat ik al gevonden of geprobeerd heb
Ik heb geprobeerd om in een schone chroot (gemaakt met debootstrap) hetzelfde te doen, maar daar heb ik exact hetzelfde resultaat.